【问题标题】:Javafx : Disabling Menu (MenuButton) auto closeJavafx:禁用菜单(MenuButton)自动关闭
【发布时间】:2014-08-20 14:26:48
【问题描述】:

我有一个仅包含 CheckMenuItems 的 MenuButton。我的用户通常会检查几个项目,如果他必须为每个项目重新打开菜单,他很快就会将鼠标扔到屏幕上。

我选择使用菜单按钮而不是组合框,因为似乎无法将复选框放入组合框 (https://community.oracle.com/thread/2598157)。

有人有想法吗? 非常感谢, 狮子座

【问题讨论】:

  • 目前不可能,因为我正在使用 java 7 并且 controlsFX 以 java 8 为目标(与 java 7 不兼容,我尝试并得到了一个不错的 UnsupportedClassVersionError)。目前,无法将我的项目切换到 java 8。

标签: java combobox javafx auto-close


【解决方案1】:

考虑在菜单项之外提供一个带有切换按钮的工具栏。

注意:Drombler FX 提供action framework 以保持菜单项和工具栏按钮之间的状态和逻辑同步。它还支持 CheckMenuItems 和切换按钮。

免责声明:我是 Drombler FX 的作者。

开始使用:http://wiki.drombler.org/GettingStarted

博客:http://puces-blog.blogspot.ch/search/label/Drombler

【讨论】:

    【解决方案2】:

    这对我有用:

    @FXML
    public void autoShow() {
    
        checkmenuitem.setOnAction(new EventHandler<ActionEvent>() {
            public void handle(ActionEvent e) {
               e.consume();
        }
    });
    
    
    }
    

    checkmenuitem 是 id。单击它时,将执行句柄方法。有关 event.consume() 方法的详细说明,请参见:

    What is the meaning of Event consumes in JavaFX

    将上述方法放在你的控制器类中,然后从你的控制器类的初始化方法中调用它:

    @Override 
    public void initialize(URL location, ResourceBundle resources) {
    
        autoShow();
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      • 2021-11-04
      • 2019-03-23
      • 1970-01-01
      • 2014-10-27
      相关资源
      最近更新 更多