Java选项卡顺序:setFocusTraversalPolicy

Java选项卡顺序:setFocusTraversalPolicy,java,eclipse,swing,traversal,Java,Eclipse,Swing,Traversal,我的标签顺序并没有做我直觉上认为应该做的事情。以下是我的setFocusTraversalPolicy: import org.eclipse.wb.swing.FocusTraversalOnArray; 通过选项卡进行切换时,文本框txtYoffset将移动到选项卡顺序的末尾。控件也会按照遍历策略中指定的顺序初始化。对于我在这种行为中看到的一切,最重要的逻辑是什么?我正在使用EclipseMars。容器的焦点遍历策略仅在焦点循环根时使用。否则将使用其父级的焦点遍历策略。通过在初始化例程中

我的标签顺序并没有做我直觉上认为应该做的事情。以下是我的setFocusTraversalPolicy:

import org.eclipse.wb.swing.FocusTraversalOnArray;


通过选项卡进行切换时,文本框
txtYoffset
将移动到选项卡顺序的末尾。控件也会按照遍历策略中指定的顺序初始化。对于我在这种行为中看到的一切,最重要的逻辑是什么?我正在使用EclipseMars。

容器的焦点遍历策略仅在焦点循环根时使用。否则将使用其父级的焦点遍历策略。通过在初始化例程中调用
p_1.setFocusCycleRoot(true)
尝试将
p_1
设置为焦点循环根。

如何实现
FocusTraversalOnArray
?它不是标准的JDK,是吗?我正在使用Eclipse,GUI神奇地自动构建了一些东西。所以我认为这是一个开始挖掘的好地方。应该注意的是,我愿意换一种更“标准”的方法。你能看到
p_1
是否是焦点周期根吗?使用
p_1.isFocusCycleRoot
System.out.println(p_1.isFocusCycleRoot())在初始化子例程的末尾返回
false
我很好奇当我到达p_2时会发生什么,但我想当我到达p_2时,我会越过这座桥。谢谢你的帮助!
p_1.setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{
    cmbFnName, cmbFn, txtXoffset, txtYoffset, txtDomStart, txtDomEnd}));