javafx - 如何从根文件夹为 JavaFx 中的标签设置字体?
问题描述
我已将项目的字体存储在*>root*
目录内的*>font*
目录中。
我试过使用以下代码:
public class NewController implements Initializable {
@FXML
private Label titleLabel;
@Override
public void initialize(URL url, ResourceBundle rb) {
titleLabel.setFont(Font.loadFont("fonts/Archivo-Regular.ttf", 30));
}
}
但它不能设置字体。
解决方案
您可以将字体作为样式表添加到场景中
你的班
scene.getStylesheets().add(getClass().getResource("/font.css").toExternalForm());
CSS 文件
@font-face {
font-family: 'Archivo';
src: url('font/Archivo-Regular.ttf');
}
之后,您可以轻松地将字体添加到 CSS 中的元素中
.label {
-fx-font-family: 'Archivo';
}
或者您可以在类中加载字体。但在使用样式之前加载字体。
班级
Font.loadFont(NewController.class.getResource("Archivo-Regular.ttf").toExternalForm(), 30);
编辑
@FXML
这是这个网站的一个小例子。
@Override
public void initialize(URL url, ResourceBundle rb) {
text.setText("My Text!");
text.setFill(Color.RED);
text.setFont(Font.font("Arial", FontWeight.BOLD, FontPosture.ITALIC, 24));
}
推荐阅读
- xcode11 - 使用 UIKitForMac 时,“令牌不是预处理器子表达式中的有效二元运算符”
- mysql - 这个尝试使用 concat() fun 更新表的更新查询有什么问题
- swift - 制作带有下划线的自定义 UISearchBar
- node.js - nodejs 对 child_process.spawn 和 child_process.execFile 中的参数使用什么编码?
- amazon-web-services - AWS Glue - boto3 爬虫未创建表
- neo4j - 将本地 Neo4j 图形连接到 Databricks 集群
- python-3.x - 如何修复python中的“TypeError:必须是str,而不是_io.TextIOWrapper”错误
- r - ggplot图形存储相互擦除
- java - 每个 Spring websocket 事件的 Principal 为 null
- jenkins - 在同一硬件上编排一系列几乎相同的构建的最佳方式