如何防止Javafx ContextMenu项目专注于按下标签键



我有一些文本场。按下标签键时,我想去下一个Textfield。当未显示与TextField关联的ContextMenu时,这可以正常工作。当显示上下文Menu时,按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中所有节点的正确方法吗?或者,我解决这个问题的方法是错误的吗?

,但这确实...:

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);
        }
    }

我只需要删除其他关键字...

让您放松一段时间。

最新更新