java如何设置字体
Java 设置字体的方法
在 Java 中设置字体可以通过 java.awt.Font 类实现,适用于 Swing、AWT 或 JavaFX 等 GUI 应用程序。以下是几种常见的字体设置方法。
使用 Font 类创建字体对象
通过指定字体名称、样式和大小创建字体对象:
Font font = new Font("Arial", Font.BOLD, 14);
- 参数说明:
- 字体名称:如
"Arial"、"Times New Roman"或系统支持的字体。 - 样式:
Font.PLAIN(常规)、Font.BOLD(加粗)、Font.ITALIC(斜体)。 - 大小:字号(整数)。
- 字体名称:如
在 Swing 组件中应用字体
将字体应用到 JLabel、JButton 等组件:

JLabel label = new JLabel("Hello World");
label.setFont(new Font("Serif", Font.ITALIC, 16));
获取系统可用字体列表
列出所有可用字体名称:
String[] fontNames = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
for (String name : fontNames) {
System.out.println(name);
}
使用逻辑字体(跨平台兼容)
Java 提供五种逻辑字体,适合跨平台使用:

Font font = new Font(Font.SANS_SERIF, Font.PLAIN, 12);
- 逻辑字体类型:
SANS_SERIF(如 Arial)SERIF(如 Times New Roman)MONOSPACED(如 Courier New)DIALOG(系统对话框字体)DIALOG_INPUT(输入框字体)。
在 JavaFX 中设置字体
JavaFX 使用 javafx.scene.text.Font 类:
Font font = Font.font("Verdana", FontWeight.BOLD, 20);
Label label = new Label("JavaFX Text");
label.setFont(font);
动态加载外部字体文件
从 .ttf 或 .otf 文件加载自定义字体:
try {
Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File("CustomFont.ttf"));
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(customFont);
// 使用字体
Font derivedFont = customFont.deriveFont(Font.PLAIN, 12);
} catch (Exception e) {
e.printStackTrace();
}
注意事项
- 字体名称需与系统支持的名称完全匹配,否则会回退到默认字体。
- 逻辑字体在不同操作系统下可能映射为不同实际字体。
- 外部字体文件需确保路径正确且有读取权限。






