gpt4 book ai didi

css - 在 JavaFX CSS 中指定外部字体

转载 作者:技术小花猫 更新时间:2023-10-29 10:18:12 30 4
gpt4 key购买 nike

是否可以在 JavaFX 应用程序中使用 CSS 指定字体?我有一个 FXML 场景和相应的 CSS 文件。在 Java 代码中,可以使用 setFont 方法指定字体:

text.setFont(Font.loadFont("file:resources/fonts/SourceSansPro-Bold.ttf", 12));

我尝试了不同的结构,例如:

-fx-font-family: url("../fonts/SourceSansPro-Bold.ttf");

但它不起作用。

最佳答案

我结合应用程序代码和 CSS 通过外部字体设置样式。

我将 loadFont 调用放在重写的应用程序初始化方法中,以确保在应用程序中发生任何事情之前调用它。

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 规范中指定的大小。

使用在应用程序初始化期间加载的 Font 通过 CSS 对标签进行内联样式设置也可以正常工作:

Label testControl = new Label("TRON");
testControl.setStyle("-fx-font-family: TRON; -fx-font-size: 120;");

TRON font从 dafont 下载并放置在与 CustomFontTest 类相同的目录中,并由构建系统复制到构建输出目录。

答案是从我对 "Using Custom Fonts" 上论坛帖子的回答中复制的.

关于css - 在 JavaFX CSS 中指定外部字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12173288/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com