Swing 组件设置默认焦点

在Swing中,焦点默认是在第一个组件上,但在项目中如果想将焦点设置在其他的组件上,如JTextField,但会发现通过requestFocus()方法不起作用.

有大佬提供了以下解决方法:

全部初始化之后

JTextField.dispatchEvent(new FocusEvent(JTextField,FocusEvent.FOCUS_GAINED,true));
JTextField.requestFocusInWindow();

将JTextField换为自己想要设置为默认焦点的组件对象名即可。

注:通过我自己的调试,发现要在声明JFrame的代码块中调用该方法才有用。如果无效果的朋友还请自己多调试。

你可能感兴趣的:(日常问题解决记录)