JavaFX斜体字体与CSS

12
我正在使用一个CSS样式表,其中包含这样的样式类:
.sublabel {
    -fx-font-style: italic; 
    -fx-font-size: 12;
}

...这个样式类已经在Scene Builder中设置为标签的样式类。字体大小按预期更改(更小,因为我在.root类下有-fx-font-size:14;但这是唯一的与字体相关的设置)。粗体样式正常工作,但它拒绝使用斜体字体。我没有在任何地方使用自定义字体,因此应该使用JavaFX 8在Win7上使用的默认字体。我还尝试独立设置它的样式。

是什么原因导致样式请求被忽略?


你应该添加相应的Java代码。.sublabel是一个类,这是你想要的吗?你是否正确地将该类应用于标签? - Parth Mehrotra
我想当时我是这么做的,因为我之前说过,“粗体样式可以正常工作”(如果你将斜体改为粗体)。我怀疑没有任何代码可以展示,因为它是在Scene Builder中完成的。 - Manius
1个回答

3

JavaFX的默认字体"system"不支持斜体。您可以在SceneBuilder中选择斜体,但只适用于支持斜体的字体。

尝试使用TrueType字体,例如Verdana,那么它应该可以正常工作。

要么使用以下样式版本,要么更直接地使用:Font name="Verdana Italic"

<Button style="-fx-font-style: italic;" text="Button">
    <font>
        <Font name="Verdana"/>
    </font>
</Button>

1
有道理。但现在我要再加入另一个因素。我刚试着在Linux(Mint)上复制这个过程,没有设置任何字体(只是“系统”)。斜体效果很好!也许这是某种操作系统级别的差异... - Manius
1
当然,这也是使用Java 17,不确定我在2018年使用的是哪个版本。 - Manius

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接