2015-09-01 46 views
0

我的标签顺序没有做我直觉上会设想它应该的。这里是我的setFocusTraversalPolicy:Java标签顺序:setFocusTraversalPolicy

import org.eclipse.wb.swing.FocusTraversalOnArray; 

...

p_1.setFocusTraversalPolicy(new FocusTraversalOnArray(new Component[]{ 
    cmbFnName, cmbFn, txtXoffset, txtYoffset, txtDomStart, txtDomEnd})); 

Tab键时通过,文本框txtYoffset移动到标签顺序的末尾。这些控件也按照遍历策略中指定的顺序进行初始化。这种压倒一切的逻辑应该归咎于我在这种行为中看到的东西?我正在使用Eclipse Mars。

+0

FocusTraversalOnArray是如何实现的?这不是标准的JDK - 是吗? – KDM

+0

我正在使用Eclipse,GUI自动创建了一些东西。所以我认为这是一个开始挖掘的好地方。 –

+0

应该指出,我愿意切换为更“标准”的方法。 –

回答

2

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

+0

我很好奇,当我到达p_2时会发生什么,但我想我会在穿过那座桥的时候穿过那座桥。谢谢您的帮助! –