右键单击JavaFX节点是否会生成独立于平台的“ContextMenuEvent”?
我试图创建一个右键单击JavaFX节点是否会生成独立于平台的“ContextMenuEvent”?,java,javafx,javafx-8,Java,Javafx,Javafx 8,我试图创建一个ContextMenu,当用户右键单击JavaFX中的某个节点时,它会出现。我在Node中找到了setOnContextMenuRequested方法,该方法在中使用并推荐使用。但是,在中,它指出触发所需的ContextMenuEvent的键盘或鼠标序列取决于平台 有人知道右键单击节点是否会独立生成上下文事件?考虑到文档中明确说明此事件与平台有关,我通常不会问这个问题,但是,考虑到我在阅读的示例中还没有看到警告,并且在Windows或Linux上测试时警告没有中断,我想检查是否有其
ContextMenu
,当用户右键单击JavaFX中的某个节点时,它会出现。我在Node
中找到了setOnContextMenuRequested
方法,该方法在中使用并推荐使用。但是,在中,它指出触发所需的ContextMenuEvent
的键盘或鼠标序列取决于平台
有人知道右键单击节点
是否会独立生成上下文事件
?考虑到文档中明确说明此事件与平台有关,我通常不会问这个问题,但是,考虑到我在阅读的示例中还没有看到警告,并且在Windows或Linux上测试时警告没有中断,我想检查是否有其他信息丢失
下面是我想如何使用它的一个示例:
VBox root = new VBox();
ContextMenu contextMenu = new ContextMenu();
Circle circle = new Circle();
circle.setRadius(70);
root.getChildren().addAll(circle);
circle.setOnContextMenuRequested(
new EventHandler<ContextMenuEvent>() {
@Override
public void handle(ContextMenuEvent contextMenuEvent) {
contextMenu.show(root, contextMenuEvent.getScreenX(),
contextMenuEvent.getScreenY());
}
}
);
VBox root=new VBox();
ContextMenu ContextMenu=新建ContextMenu();
圆圈=新圆圈();
圆半径(70);
root.getChildren().addAll(圆);
circle.setOnContextMenuRequested(
新的EventHandler(){
@凌驾
公共无效句柄(ContextMenuEvent ContextMenuEvent){
显示(根目录,contextMenuEvent.getScreenX(),
getScreenY());
}
}
);
在触摸设备上,您不需要右键单击,但仍可以请求上下文菜单。也就是说,如果您只想处理右键单击,请为右键单击注册一个事件。如果要处理contextmenu请求,请注册contextmenu事件。您可以使用鼠标事件单击鼠标右键,并使用ContextMenuRequested请求触摸屏。啊,谢谢!!这是一个有趣的见解!我绝对希望无论设备如何,都能显示上下文菜单,因此这些注释强调了ContextMenuRequested是我要寻找的功能。在触摸设备上,您不需要右键单击,但仍然可以请求上下文菜单。也就是说,如果您只想处理右键单击,请为右键单击注册一个事件。如果要处理contextmenu请求,请注册contextmenu事件。您可以使用鼠标事件单击鼠标右键,并使用ContextMenuRequested请求触摸屏。啊,谢谢!!这是一个有趣的见解!我绝对希望能够让上下文菜单出现,而不考虑设备,因此这些注释强调了ContextMenuRequested是我正在寻找的功能。