6

通常,当我初始化要在 SWING 应用程序中使用的字体时,我会这样做:

public static final Font TITLEFONT = new Font("Calibri", Font.BOLD, 40);

现在,由于我使用的是 .ttf 文件中的一些自定义字体,因此我必须做一些不同的事情。我以这种方式初始化字体:

try
{
    InputStream is = OptionsValues.class.getResourceAsStream("fonts//KOMIKAX_.ttf");
    TITLEFONT = Font.createFont(Font.TRUETYPE_FONT, is);
}
catch (Exception ex)
{
    ex.printStackTrace();
    System.err.println("Font not loaded.  Using Calibri font.");
    TITLEFONT = new Font("Calibri", Font.BOLD, 40);
}

我很确定它正确地初始化了它(我不能确定,因为它太小了,我看不到),但我想知道如何手动设置字体的大小(如果它是粗体/其他属性)以这种方式加载字体时。

提前非常感谢!

4

2 回答 2

10

createFont返回一个字体,你可以调用deriveFont(...)它,传入一个浮点数作为磅值,或者一个 int 和浮点数作为字体样式和磅值。我不能说它是否适用于您的特定情况,但值得一试。

例如,

InputStream is = OptionsValues.class.getResourceAsStream("fonts//KOMIKAX_.ttf");
TITLEFONT = Font.createFont(Font.TRUETYPE_FONT, is).deriveFont(Font.BOLD, 40f);
于 2011-08-23T00:25:17.763 回答
1

我会简单地使用:

字体.斜体

字体.BOLD

字体.PLAIN

于 2021-08-22T16:37:11.797 回答