我有一个 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
的子结构,但它似乎不存在。
问题
- 如何选择/设计菜单(包含新建元素、打开...、退出的容器)?
- 如何选择/设置菜单中每个单独的 MenuItem 的样式?
澄清
为了帮助阐明我要设置样式的元素,我添加了这张概述我希望设置样式的组件的图片:
最佳答案
我想你忘记了 .context-menu
中的 -fx-skin
属性。
关注How to style menu button and menu items .
关于css - 如何在 CSS 中设置 JavaFX 菜单及其元素的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912946/