我使用应用程序代码和 CSS 的组合来通过外部字体设置样式。
我将loadFont
调用放在重写的 Application init 方法中,以确保在应用程序发生任何事情之前调用它。
Font.loadFont(CustomFontTest.class.getResource("TRON.TTF").toExternalForm(), 10);
要使用字体,我在 CSS 中按字体系列引用字体:
.menu-bar {
-fx-background-color: transparent;
-fx-font-family: TRON;
-fx-font-size: 40px;
}
.context-menu {
-fx-font-family: TRON;
-fx-background-color: transparent;
-fx-font-size: 12px;
}
很高兴CSS可以很好地调整字体大小。即使以 10 号字体加载字体,字体也已正确调整为 CSS-fx-font-size
规范中指定的大小。
通过 CSS 使用Font
在应用程序初始化期间加载的标签的内联样式也可以正常工作:
Label testControl = new Label("TRON");
testControl.setStyle("-fx-font-family: TRON; -fx-font-size: 120;");
TRON 字体是从 dafont 下载的,放在与 CustomFontTest 类相同的目录中,并由构建系统复制到构建输出目录。
从我对“使用自定义字体”的论坛帖子的回答中复制的答案。