在Swing中,焦点默认是在第一个组件上,但在项目中如果想将焦点设置在其他的组件上,如JTextField,但会发现通过requestFocus()
方法不起作用.
有大佬提供了以下解决方法:
全部初始化之后
JTextField.dispatchEvent(new FocusEvent(JTextField,FocusEvent.FOCUS_GAINED,true));
JTextField.requestFocusInWindow();
将JTextField换为自己想要设置为默认焦点的组件对象名即可。
注:通过我自己的调试,发现要在声明JFrame的代码块中调用该方法才有用。如果无效果的朋友还请自己多调试。