我有一个MenuBar,其在FXML中设置如下:
<MenuBar VBox.vgrow="NEVER">
<menus>
<Menu mnemonicParsing="true" text="_File">
<items>
<MenuItem mnemonicParsing="true" text="_New Project"/>
<MenuItem mnemonicParsing="true" text="_Open…"/>
<MenuItem mnemonicParsing="false" text="Quit"/>
</items>
</Menu>
</menus>
</MenuBar>
这将生成以下菜单:
我已成功使用以下CSS样式对MenuBar
和Menu
File进行了样式设置:
.menu-bar { /* The menu bar itself */ }
.menu { /* The File menu item */ }
.menu:showing { /* menu when it's being shown (activated) */ }
.menu .label { /* Styles the text on a menu item */ }
.menu:showing .label { /* Styles the text on a menu item when activated */ }
然而,我无法为显示的菜单设置样式。
我尝试将其视为上下文菜单:
.context-menu {
-fx-background-color: red;
}
没有任何作用(它不是上下文菜单,所以这里没有什么意外)。
我尝试过为menu-item
和menu-button
设置样式:
.menu-button,
.menu-item {
-fx-background-color: red;
}
这将更改菜单(文件), 但不会更改菜单项或显示的菜单。
我尝试选择一个称为.items
的子结构, 但似乎不存在。
问题
- 如何选择/样式化菜单(包含新建项目、打开...、退出的容器)?
- 如何选择/样式化菜单中的每个菜单项?
澄清
为了帮助澄清我想要样式化的元素,我添加了这张图像,它标出了我希望样式化的组件: