右键单击 javaFX 中的窗格或 ImageView 时如何显示上下文菜单

How do i show a context menu when right click on a Pane or an ImageView in javaFX

我试图显示我创建的上下文菜单,当我右键单击窗格或图像视图时((在请求的上下文菜单上))。问题是它们似乎没有 setContextMenue 方法,这与标签和按钮等不同。如何将上下文菜单关联到似乎不接受上下文菜单的节点?[​​=11=]

@FXML
Button button1, button2;

@FXML
Pane mainPane;

@FXML
ImageView image;
private void initContextMenu() {
    final ContextMenu contextMenu = new ContextMenu();
    final MenuItem item1 = new MenuItem("open a file");
    final MenuItem item2 = new MenuItem("quit");

    contextMenu.getItems().addAll(item1, item2);

    // not possible
    image.setContextMenu(contextMenu);
    // possible
    button1.setContextMenu(contextMenu)

你可以做到

image.setOnContextMenuRequested(e -> 
    contextMenu.show(image, e.getScreenX(), e.getScreenY()));