java如何解除JTextField的焦点
当我的应用程序加载(使用netbeans创建)时,第一个JTextField会自动聚焦,在这个JTextField中,我写了“输入你的用户名”,当用户点击这个字段时,它会消失,但当应用程序加载时,这个字段聚焦,意味着我看不到“输入你的用户名”,如何在启动时解除关注
你可以在下面搜索框中键入要查询的问题!
当我的应用程序加载(使用netbeans创建)时,第一个JTextField会自动聚焦,在这个JTextField中,我写了“输入你的用户名”,当用户点击这个字段时,它会消失,但当应用程序加载时,这个字段聚焦,意味着我看不到“输入你的用户名”,如何在启动时解除关注
# 1 楼答案
登录最好在模式对话框中完成,但这会带来问题,因为在组件可见后必须调用方法
requestFocusInWindow()
,但由于对话框是模式的,所以这会被阻止本例使用Rob Camick的
RequestFocusListener
(如Dialog Focus中所示)在对话框可见后管理焦点注意:这就是它在用户做任何事情之前的显示方式。默认情况下,密码字段是聚焦的
# 2 楼答案
如果且仅当textField具有焦点,则TAB顺序中的下一个组件将自动获得焦点。其效果与按TAB键相同
(未在只有一个可聚焦组件的GUI中测试:))
# 3 楼答案
使用^{} 将焦点设置在其他组件上,而不是首先设置
JTextfield
但是我建议不要改变本机焦点系统,而是在
constructor
中的JTextField
后initComponents()
调用上setText(String s)
(假设在netbeans中)进一步可选阅读:How to Use the Focus Subsystem