我有一些TextFields。当我按TAB键时,我想转到下一个TextField。 当未显示与TextField关联的ContextMenu时,此方法正常工作。显示ContextMenu时,按TAB键将项目聚焦在ContextMenu中。我不想要那种行为。
我试过了:
setAllChildrendTraversable(false, ((Parent) tf.getContextMenu().getSkin().getNode()).getChildrenUnmodifiable());
//...
static void setAllChildrendTraversable(boolean traversable, ObservableList<Node> childs) {
for(Node node : childs) {
if(node instanceof Parent) setAllChildrendTraversable(traversable, ((Parent) node).getChildrenUnmodifiable());
else node.setFocusTraversable(traversable);
}
}
但它没有给出想要的结果。
这是访问ContextMenu中所有节点的正确方法吗? 或者,我解决这个问题的方法是错误的吗?
答案 0 :(得分:0)
但这确实......:
setAllChildrendTraversable(false, ((Parent) tf.getContextMenu().getSkin().getNode()).getChildrenUnmodifiable());
//...
static void setAllChildrendTraversable(boolean traversable, ObservableList<Node> childs) {
for(Node node : childs) {
if(node instanceof Parent) setAllChildrendTraversable(traversable, ((Parent) node).getChildrenUnmodifiable());
node.setFocusTraversable(traversable);
}
}
我只需删除else关键字...
为了让你失去一些时间。