JavaFx之使用指定字体样式(二十九)
JavaFx之使用指定字体样式(二十九)
javafx use specified font 29
javafx默认的字体样式太丑,可能需要我们自定义字体样式。
之前说好放弃学习javafx,没想到越研究越深,底层代码看了不少哈哈。原来也挺简单的,so easy ~
一、准备字体
自定义字体样式,你得有字体。那就随便找个网站下载一个字体吧,这里就不给出网站了,你可以使用C:\Windows\Fonts\simfang.ttf 这个仿宋测试
二、代码
package top.lingkang.test.gui;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;
import java.io.FileInputStream;
/**
* @author lingkang
* Created by 2022/9/19
*/
public class Test07 extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Font font = Font.loadFont(
new FileInputStream("C:\\Users\\Administrator\\Desktop\\平方相思体.ttf"),
14);
// 注意 family=pingfangxiagnsiti
// Font[name=pingfangxiagnsiti Regular, family=pingfangxiagnsiti, style=常规, size=12.0]
System.out.println(font);
Label label = new Label("hello 中文 哈喽");
label.setStyle("-fx-font-weight: bold");
VBox box = new VBox(new Label("中文字幕"), label);
// 设置字体
box.setStyle("-fx-font-family: pingfangxiagnsiti");
primaryStage.setScene(new Scene(box, 400, 400));
primaryStage.show();
}
}
效果如下
javafx问题可以加我交流