【发布时间】:2016-11-07 22:47:52
【问题描述】:
我正在开发一个 JavaFX 项目。我想在 CSS 文件中的 Label 上使用自定义字体。我已经阅读并关注了例如。 this 发帖。
public class Main extends Application {
@Override
public void init() {
Font font = Font.loadFont(getClass().getResourceAsStream("Dimitri_Swank.ttf"), 32);
System.out.println(font);
}
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Window.fxml"));
// ...
}
}
打印Font[name=Dimitri Swank, family=Dimitri Swank, style=Regular, size=32.0],这样字体就加载成功了。 FXML文件中的根容器有一个stylesheets="@Window.css"属性,而在这个CSS文件中,有一条规则:
#gameName {
-fx-font-family: Dimitri Swank;
-fx-font-size: 32px;
}
选择器效果很好(它指的是Label),如果我更改-fx-font-size,我可以看到区别。但是字体系列仍然是默认的系统字体。我做错了什么?
【问题讨论】:
-
在您链接的帖子的答案中,我看到他们的
-fx-font-family用引号括起来,您是否尝试过-fx-font-family:'Dimitri Swank';? -
@MichaelPickett 哈哈,这很简单,它解决了问题,谢谢。
标签: java javafx fonts javafx-css