我注意到,在 JavaFX 中对 TextField 设置自定义字体样式也会影响其默认上下文菜单。我该怎么做才能更改用户输入的字体,但又能让菜单项在上下文菜单中保持正常显示?
.custom-text-field {
-fx-alignment: center;
-fx-font-size: 2.5em;
-fx-font-weight: bold;
-fx-font-family: monospaced;
}
我正在寻找CSS 样式的解决方案,我不想在 Java 代码中更改字体。
TextField 组件的文档没什么用。
不幸的是,检查默认 CSS 样式也没有给caspian.css
我带来太大的帮助。
发生这种情况的原因是,上下文菜单是其控件的(直接)后代(参见的文档
ContextMenu
),并且字体的默认值为inherit
,因此默认情况下,上下文菜单将从其所附加到的控件继承字体。一种方法是专门重置上下文菜单的样式:
如果您想要“全局”强制执行“不从其控件中继承上下文菜单的字体”规则,以下更通用的 CSS 规则将执行以下操作:
(这将删除
inherit
上下文菜单字体的值。)