css - 如何在 CSS 中设置 JavaFX 菜单及其元素的样式?

标签 css javafx menu javafx-2 javafx-8

我有一个 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>

这会产生如下菜单:

enter image description here

我已经使用以下 CSS 成功地设置了 MenuBarMenu 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-itemmenu-button 的样式:

.menu-button,
.menu-item {
    -fx-background-color: red;
}

这会更改菜单(文件),但不会更改菜单项或显示的菜单。

我试过选择一个名为 .items子结构,但它似乎不存在。

问题

  1. 如何选择/设计菜单(包含新建元素、打开...、退出的容器)?
  2. 如何选择/设置菜单中每个单独的 MenuItem 的样式?

澄清

为了帮助阐明我要设置样式的元素,我添加了这张概述我希望设置样式的组件的图片:

enter image description here

最佳答案

我想你忘记了 .context-menu 中的 -fx-skin 属性。
关注How to style menu button and menu items .

关于css - 如何在 CSS 中设置 JavaFX 菜单及其元素的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912946/

相关文章:

javascript - 滚动时水平移动图像,然后停止

html - 如何滚动位置 :absolute with the bowser scroll?

java - 测试在 TestFX 上通过,但在 headless 模式下未通过

java - 如何删除或停用监听器

jquery - 子项向右移动的菜单 Jquery

CSS Horizo​​ntal Menu x-position错误,如何直接放在父菜单下?

html - 溢出:隐藏的容器不包含 float 的相邻元素

javascript - 如何设置 css 位置 'top' 相对于文档高度而不是视口(viewport)高度?

javafx - 相当于 JavaFX 中 SplitPane 上的 setResizeWeight()?

android - 如何制作带滚动条的弧形菜单?