我正在JavaFX Scene Builder中创建一个GUI,并希望所有文本(标签,文本字段,组合框)使用相同的字体 . 问题是它是一个自定义字体,可能不会在每个客户端的计算机上 .
我试过CSS:
@font-face {
font-family: DIN;
src: url(DIN.tff);
}
.text {
-fx-font-family: DIN;
-fx-font-style: bold;
}
将上述代码保存到文件Font.css并尝试通过Scene Builder的JavaFX CSS字段将其应用于每个GUI元素,但它不起作用 .
我在CSS中犯了错误吗?或者有更好的方法来解决这个问题吗?如果我不需要,我宁愿不必加载字体并为Java代码本身的每个元素设置它 .
1 回答
确保使用
Font.loadFont
在应用程序启动时实际加载字体 . 然后你应该能够使用CSS中的字体 . 小心使用字体's name, not the font file'的名称 . 这是一个常见的错误 .我之前使用了以下内容来加载和使用自定义字体:
和:
仅供参考:仅当名称包含空格时才需要引号 .