【问题标题】:ContextMenu Does not Dissappear On Another Right Click上下文菜单不会在再次右键单击时消失
【发布时间】:2014-09-29 19:13:56
【问题描述】:

我已经创建了一个ContextMenu 来处理右键单击,但是当我再次右键单击时,原件并没有消失。

代码:

this.table.addEventHandler(MouseEvent.MOUSE_CLICKED, (event) -> {
        if (event.getButton() == MouseButton.SECONDARY) {
            MenuItem delete = new MenuItem("Delete");
            delete.setOnAction((actionEvent) -> {
                Action action = Dialogs.create().nativeTitleBar().title("Are you sure?").masthead("This member will be removed from the table")
                        .message("Are you sure that you want to remove "
                                + this.table.getSelectionModel().getSelectedItem().memberProperty.get().get()
                                + " from the table?").showConfirm();
                if (action == Dialog.Actions.YES || action == Dialog.Actions.OK) {
                    this.table.getItems().remove(this.table.getSelectionModel().getSelectedItem());
                }
            });
            ContextMenu menu = new ContextMenu(deleteMember);
            menu.show(this.table, event.getScreenX(), event.getScreenY());
        }
    });

【问题讨论】:

    标签: java user-interface javafx java-8


    【解决方案1】:

    好吧,看起来问题出在分配上下文菜单的那一行。我做了menu.show(this.table.getScene().getWindow(), event.getScreenX(), event.getScreenY());,这使一切正常。我猜测导致问题的原因是分配给所有者变量的任何内容的较低级别的工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多