JButton在JTextField之前得到了关注

时间:2013-02-27 19:27:01

标签: java swing netbeans focus

enter image description here

正如您所看到的, passwordField 位于导航器中 jButton1 之前,但是,当 usernameField 聚焦时,我按TAB键,焦点的第二个元素是 jButton1 ,而不是 passwordField

enter image description here

真正控制焦点顺序的是什么?

3 个答案:

答案 0 :(得分:2)

您需要搜索的短语是“标签顺序”:这个here有一个答案。简而言之,您需要实现一个FocusTraversalPolicy子类,并通过调用setFocusTraversalPolicy让您的容器使用它。

答案 1 :(得分:1)

默认焦点转移更多地基于视觉布局和组件的顺序。在这种情况下,它会想要从左到右,从上到下。这是预期的行为 - MadProgrammer刚刚编辑

查看How to use the Focus Subsystem,尤其是Customizing Focus Traversal

<强>更新

查看switching JTextFields by pressing Enter key,其中演示了自定义焦点政策的使用

答案 2 :(得分:-1)

尝试搜索选项卡索引或标签顺序以设置组件