java如何更改字体
修改 Swing 组件字体
在 Java Swing 中,可通过 setFont() 方法修改组件字体。以下示例创建一个按钮并设置字体为宋体、加粗、16 号:
JButton button = new JButton("点击");
button.setFont(new Font("宋体", Font.BOLD, 16));
若需全局修改所有组件字体,可设置 UIManager 的默认值:
UIManager.put("Button.font", new Font("微软雅黑", Font.PLAIN, 14));
UIManager.put("Label.font", new Font("微软雅黑", Font.PLAIN, 14));
修改 AWT 组件字体
AWT 组件同样使用 setFont() 方法:
Frame frame = new Frame();
Label label = new Label("文本");
label.setFont(new Font("Arial", Font.ITALIC, 12));
frame.add(label);
检查系统可用字体
获取系统支持的字体列表,确保设置的字体有效:
String[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
for (String font : fonts) {
System.out.println(font);
}
自定义字体文件加载
若需使用外部字体文件(如 .ttf),可通过以下代码加载:

try {
Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File("path/to/font.ttf"));
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(customFont);
JLabel label = new JLabel("自定义字体");
label.setFont(customFont.deriveFont(18f));
} catch (Exception e) {
e.printStackTrace();
}
注意事项
- 字体名称需与系统支持的名称完全匹配(如 "Arial" 而非 "arial")。
- 外部字体文件需确保有读取权限,路径需正确。
- 某些 Linux 系统可能需要额外配置字体目录。






