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

被折叠的 条评论
为什么被折叠?



