Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX上下文菜单项组_Java_Javafx_Contextmenu_Menuitem - Fatal编程技术网

JavaFX上下文菜单项组

JavaFX上下文菜单项组,java,javafx,contextmenu,menuitem,Java,Javafx,Contextmenu,Menuitem,我想在同一个上下文菜单中设置一些(不是全部)上下文菜单项的可见性,而不必显式地设置它们中每个项的可见性,因为这看起来像很多样板代码。有没有办法为这些菜单项设置一个公共容器或类似的东西,这样我就可以简单地设置这个容器的可见性?我在谷歌上搜索了一下,但到目前为止没有找到任何相关信息 我正在考虑给这些菜单项赋予相同的css类,然后创建两个定义此类行为的样式表,一个具有可见性:可见,另一个具有可见性:隐藏,然后我可以动态加载样式表以满足我的需要。我相信这是可行的,但对我的口味来说,这似乎有点不对劲。我更

我想在同一个上下文菜单中设置一些(不是全部)上下文菜单项的可见性,而不必显式地设置它们中每个项的可见性,因为这看起来像很多样板代码。有没有办法为这些菜单项设置一个公共容器或类似的东西,这样我就可以简单地设置这个容器的可见性?我在谷歌上搜索了一下,但到目前为止没有找到任何相关信息


我正在考虑给这些菜单项赋予相同的css类,然后创建两个定义此类行为的样式表,一个具有
可见性:可见
,另一个具有
可见性:隐藏
,然后我可以动态加载样式表以满足我的需要。我相信这是可行的,但对我的口味来说,这似乎有点不对劲。我更喜欢一种更普通的方法来实现这一点。

将它们的可见性属性绑定到一个单独的属性

private final BooleanProperty selectionItemsVisible =
    new SimpleBooleanProperty();

// ...

    cutMenuItem.visibleProperty().bind(selectionItemsVisible);
    copyMenuItem.visibleProperty().bind(selectionItemsVisible);
    saveSelectionMenuItem.visibleProperty().bind(selectionItemsVisible);

    // ...

    selectionItemsVisible.set(true);

这确实比我的CSS方法要好。不过,我还是更喜欢一种普通的家长方式。我的意思是,如果我想要菜单项之间共享的其他行为,例如作为一个组拖动或删除它们,该怎么办。你有什么建议吗?