java - 右键单击 javaFX 中的 Pane 或 ImageView 时如何显示上下文菜单

标签 java javafx javafx-2 javafx-8

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

@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()));

关于java - 右键单击 javaFX 中的 Pane 或 ImageView 时如何显示上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41199786/

相关文章:

java - 我怎样才能自己得到一个像 “start.spring.io”这样的springboot项目

css - 无法将 css 文件加载到 osgi 包中

java - 渐变之间平滑淡入淡出

java - 使用JAVA从redis中删除相似的模式键

java - 在不更改模式的情况下更改类

java - 如何在 JavaFX Scene Builder 文本字段中获取用户输入?

JavaFX NumberAxis AutoRange 无限循环

treeview - 如何获取当前在 JavaFx 2 中通过用户单击扩展的 TreeItem 引用?

java - 错误 @annotation 切入点表达式仅在 Java 5 合规性级别或更高级别受支持

java - 为什么 java applets/javafx 没有被广泛使用? (为什么我不应该将它们用于 RIA)