Java如何创建字体
创建字体对象
在Java中,可以使用java.awt.Font类来创建字体对象。Font类提供了多种构造函数来指定字体的名称、样式和大小。
Font font = new Font("Arial", Font.BOLD, 16);
指定字体名称
字体名称可以是逻辑字体名称(如"Serif"、"SansSerif"、"Monospaced")或实际字体名称(如"Arial"、"Times New Roman")。逻辑字体名称更通用,而实际字体名称依赖于系统安装的字体。
Font serifFont = new Font("Serif", Font.PLAIN, 12);
Font arialFont = new Font("Arial", Font.ITALIC, 14);
设置字体样式
字体样式可以是Font.PLAIN(普通)、Font.BOLD(粗体)、Font.ITALIC(斜体)或它们的组合。使用按位或运算符|来组合样式。

Font boldItalicFont = new Font("Times New Roman", Font.BOLD | Font.ITALIC, 18);
获取系统可用字体
通过GraphicsEnvironment类可以获取系统中所有可用的字体名称,以便选择适合的字体。
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fontNames = ge.getAvailableFontFamilyNames();
for (String name : fontNames) {
System.out.println(name);
}
使用字体渲染文本
创建字体后,可以在Graphics对象上设置字体并渲染文本。通常在paint或paintComponent方法中使用。

public void paintComponent(Graphics g) {
super.paintComponent(g);
Font font = new Font("Serif", Font.BOLD, 20);
g.setFont(font);
g.drawString("Hello, World!", 50, 50);
}
动态加载字体文件
如果需要使用自定义字体文件(如TTF或OTF文件),可以通过Font.createFont方法动态加载。
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 (IOException | FontFormatException e) {
e.printStackTrace();
}
调整字体大小
通过deriveFont方法可以调整现有字体的大小或样式,而无需创建新的字体对象。
Font baseFont = new Font("Arial", Font.PLAIN, 10);
Font largerFont = baseFont.deriveFont(14.0f);
Font boldFont = baseFont.deriveFont(Font.BOLD);






