JavaFx上下文菜单中的EventFilter

JavaFx上下文菜单中的EventFilter,javafx,javafx-8,Javafx,Javafx 8,我的javafx应用程序具有由节点和边组成的图形。这些边是使用“线”形状实现的。当用户右键单击边缘时,边缘上会使用“内容菜单”。还有另一个上下文菜单用于构建图形的主UI画布 问题是画布上下文菜单正在覆盖边缘上下文菜单。每当用户右键单击边缘时,其上下文菜单就会出现,然后迅速消失以显示画布上下文菜单 我已经编写了一个事件过滤器,在鼠标右键单击边缘以使用鼠标事件,但这也不能解决问题。您选择了错误的事件。您需要使用ContextMenuEvent来抑制上下文菜单。请参阅下一代码 node.add

我的javafx应用程序具有由节点和边组成的图形。这些边是使用“线”形状实现的。当用户右键单击边缘时,边缘上会使用“内容菜单”。还有另一个上下文菜单用于构建图形的主UI画布

问题是画布上下文菜单正在覆盖边缘上下文菜单。每当用户右键单击边缘时,其上下文菜单就会出现,然后迅速消失以显示画布上下文菜单


我已经编写了一个事件过滤器,在鼠标右键单击边缘以使用鼠标事件,但这也不能解决问题。

您选择了错误的事件。您需要使用ContextMenuEvent来抑制上下文菜单。请参阅下一代码

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

请创建一个并将其包含在问题中。不幸的是,释放键后,画布上下文菜单仍会覆盖边缘上下文菜单。@Ulkurz在这种情况下,我们需要了解如何分配筛选器和句柄来查找问题。拜托,试着准备一下谢谢,我终于能弄明白了