java 如何设置字体
设置字体的基本方法
在Java中,可以通过Font类来设置字体。Font类位于java.awt包中,提供了一系列构造函数和方法用于创建和修改字体。
import java.awt.Font;
// 创建字体对象
Font font = new Font("Serif", Font.BOLD, 16);
字体参数说明
Font类的构造函数通常需要三个参数:
- 字体名称(如"Arial"、"Times New Roman")
- 字体样式(
Font.PLAIN、Font.BOLD、Font.ITALIC) - 字体大小(以像素为单位)
在Swing组件中应用字体
在Swing应用程序中,可以通过setFont()方法为组件设置字体。

import javax.swing.JLabel;
JLabel label = new JLabel("Hello World");
label.setFont(new Font("Arial", Font.ITALIC, 20));
获取系统可用字体
如果需要查看系统中所有可用的字体,可以使用GraphicsEnvironment类。
import java.awt.GraphicsEnvironment;
String[] fontNames = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
for (String name : fontNames) {
System.out.println(name);
}
使用自定义字体文件
如果需要使用系统未安装的字体文件(如TTF或OTF文件),可以通过Font.createFont()方法加载。

try {
Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File("CustomFont.ttf"));
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(customFont);
} catch (IOException | FontFormatException e) {
e.printStackTrace();
}
字体派生与修改
可以通过deriveFont()方法基于现有字体创建新的字体实例,修改样式或大小。
Font originalFont = new Font("Serif", Font.PLAIN, 12);
Font boldFont = originalFont.deriveFont(Font.BOLD);
Font largerFont = originalFont.deriveFont(18f);
在AWT绘图时设置字体
在AWT绘图(Graphics对象)时,可以通过setFont()方法设置当前绘图上下文的字体。
public void paint(Graphics g) {
g.setFont(new Font("Monospaced", Font.BOLD, 14));
g.drawString("Text with custom font", 50, 50);
}
字体度量信息
可以通过FontMetrics类获取字体的详细度量信息,如字符宽度、行高等。
FontMetrics metrics = getFontMetrics(font);
int stringWidth = metrics.stringWidth("Sample Text");
int fontHeight = metrics.getHeight();






