【问题标题】:How to style Accelerator display text in JavaFX ContextMenu via CSS?如何通过 CSS 在 JavaFX ContextMenu 中设置加速器显示文本的样式?
【发布时间】:2016-05-02 12:57:07
【问题描述】:

此 CSS 代码更改 MenuItem 整个文本的文本颜色:

.context-menu .label {
    -fx-text-fill: blue;
}

问题是我只想更改加速器显示文本。 JavaFX 的 CSS 参考不是很有帮助:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html#contextmenu

那么如何使用 CSS 在 ContextMenu 中设置 Accelerator 显示文本的样式?

【问题讨论】:

    标签: java css javafx java-8 javafx-8


    【解决方案1】:

    我检查了皮肤,发现accelerator-text类被分配给了显示加速器的Label,这意味着你可以使用

    .context-menu .accelerator-text {
        -fx-text-fill: blue;
    }
    

    为显示加速键的Label设置样式。

    【讨论】:

    • 谢谢,它确实工作得很好。现在我可以为MenuItem普通 文本指定与Accelerator 显示文本不同的样式。 :-)
    【解决方案2】:

    我只是给 menuItem 一个 id

    fxml:

    <MenuItem id="menuItem" mnemonicParsing="false" text="Close" accelerator="Shortcut+C"/>
    

    并尝试过:

    css:

    #menuItem>Label {
    
        -fx-background-color: #0093ff;
        -fx-text-fill: #ffff00;
    }
    

    它成功了。

    【讨论】:

    • MenuItems 有类menu-item。您无需将ids 分配给所有MenuItems 来设置它们的样式...
    • 是的,这只是设置其中一个样式而不是全部样式的示例。
    猜你喜欢
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 2016-04-18
    • 2020-09-10
    • 2016-02-29
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多