我正在使用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哈哈,这很容易,它解决了这个问题,谢谢。 – klenium