JavaFx中的上下文菜单中的EventFilter

时间:2017-06-08 16:04:30

标签: javafx javafx-8

我的javafx应用程序包含由节点和边缘组成的图表。边缘使用“线”形状实现。当用户右键单击它时,边缘上会使用“ContentMenu”。还有另一个ContextMenu用于构建图形的主UI画布。

问题是画布上下文菜单覆盖了边缘上下文菜单。只要用户右键单击边缘,就会显示其上下文菜单,然后快速消失以显示画布上下文菜单。

我在右键单击边缘的MOUSE_RELEASED时编写了一个EventFilter来使用鼠标事件,但这也解决了这个问题。

1 个答案:

答案 0 :(得分:2)

你选择了错误的事件。您需要使用ContextMenuEvent来禁止上下文菜单。见下一个代码

    node.addEventFilter(ContextMenuEvent.ANY, new EventHandler<Event>() {
        @Override
        public void handle(Event event) {
            event.consume();
        }
    });