当前位置: 首页 > 知识库问答 >
问题:

JavaFX MenuItem不对MouseEvent.Clicked作出反应

段弘和
2023-03-14

这是“正常”的行为吗?我知道标签不会对click-event做出反应,但我不明白为什么不能在MenuItem上注册单独的EventHandler或EventFilter。

共有1个答案

林项明
2023-03-14
 public class ContextMenuCell extends TreeCell<String> {

        private ContextMenu menu;

        public ContextMenuCell() {
            Label lbl = new Label("Add item");
            MenuItem menuItem = new CustomMenuItem(lbl);

            lbl.setOnMouseClicked(evt -> {
                if (evt.getButton() != MouseButton.PRIMARY) {
                    return;
                }

                TreeItem treeItem =
                        new TreeItem<String>("New item");

                if (getTreeItem().isLeaf()) {
                    getTreeItem().getParent().getChildren().add(getIndex(), treeItem);
                } else {
                    getTreeItem().getChildren().add(0, treeItem);
                }

            });

            menu = new ContextMenu(menuItem);
        }

        @Override
        public void updateItem(String item, boolean empty) {
            super.updateItem(item, empty);

            if (empty) {
                setText(null);
                setGraphic(null);
            } else {
                setText(item);
                setGraphic(getTreeItem().getGraphic());
                setContextMenu(menu);
            }
        }
    }
 类似资料:
  • 我在网上找不到任何关于这个话题的东西。有没有办法告诉你的机器人对旧消息做出反应?类似的东西: 1-烤面包机:嘿 2-乔纳森:!!反应 会让机器人对烤面包机说“嘿”做出反应吗?或者做一些更老的事情,比如对消息作出反应5条消息向上。我没有这方面的代码,但我知道不和谐。js很好,并且知道如何正常地向消息添加反应。

  • 我正在制作图片库,我想在图片上显示删除图标。我制作了div容器,用于图像和带有相对位置的图标,以及带有绝对位置的图标img。但是jquery和

  • 我有一个表单组件,它从其父级获取其状态。表单组件只呈现一些输入字段和其他字段。 父组件使用useReucer并将值向下传递给表单组件。 有两个父组件,一个允许用户使用表单创建,另一个允许他们编辑。 在编辑父组件中,我使用useEffect从api获取数据,并从服务器设置初始状态。 在开发构建中,当组件呈现时,有时会出现以下错误: 超过最大更新深度。当组件在componentWillUpdate或c

  • 无论我在Angular 8项目中添加了什么角度材质元素(材质选项卡、材质按钮切换、材质选择、材质输入…),它们都不会更新。例如,在“材质”选项卡中,会绘制涟漪效果,但不会更改选项卡。mat按钮切换显示了类似的行为。mat select中的选项不显示,mat input中的浮动标签不浮动。我的代码基本上来自角度材质页面: BrowserModule和BrowserAnimationsModule在A

  • 我试图用一个自定义验证器将整个设置为无效,这似乎不起作用。。。 下面代码的目标是比较FromGroup的两个实例。 如果它们匹配,则表示未进行任何更改,因此必须无效。 否则它不匹配,这意味着已经进行了更改,所以它必须是有效的 我的变量在我记录时工作正常。它会根据变化变为真或假。 但是我无法使from无效,我已经尝试了很多方法,比如文章和堆栈溢出,这有一个stackblitz,但它似乎也不起作用。

  • 我有以下代码: 但我得到了以下错误: 未捕获的不变违规:对象作为React子对象无效(找到:带有键{正文、附件、视频、主题、updated_at、id、主题、反对票、作者、posted_at、注释、user_vote、好评、状态、标签、位置、track_impact、user_is_following、comments_count}的对象)。如果要呈现子集,请使用数组来代替,或者使用React加载