我的javafx应用程序包含由节点和边缘组成的图表。边缘使用“线”形状实现。当用户右键单击它时,边缘上会使用“ContentMenu”。还有另一个ContextMenu用于构建图形的主UI画布。
问题是画布上下文菜单覆盖了边缘上下文菜单。只要用户右键单击边缘,就会显示其上下文菜单,然后快速消失以显示画布上下文菜单。
我在右键单击边缘的MOUSE_RELEASED时编写了一个EventFilter来使用鼠标事件,但这也解决了这个问题。
答案 0 :(得分:2)
你选择了错误的事件。您需要使用ContextMenuEvent
来禁止上下文菜单。见下一个代码
node.addEventFilter(ContextMenuEvent.ANY, new EventHandler<Event>() {
@Override
public void handle(Event event) {
event.consume();
}
});