Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
右键单击JavaFX节点是否会生成独立于平台的“ContextMenuEvent”?_Java_Javafx_Javafx 8 - Fatal编程技术网

右键单击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是我正在寻找的功能。