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