通常,当我初始化我想在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);
}
我很确定它正确初始化(我无法确定,因为它对我来说太小了),但我想知道如何手动设置字体的大小(如果它是以这种方式加载字体时的粗体/其他属性。
提前多多感谢!
答案 0 :(得分:10)
createFont
返回一个Font,您可以在其上调用deriveFont(...)
,传入一个浮点作为点大小,或者一个int和float用于Font样式和点大小。我不能说它是否适用于您的特定情况,但值得一试。
如,
InputStream is = OptionsValues.class.getResourceAsStream("fonts//KOMIKAX_.ttf");
TITLEFONT = Font.createFont(Font.TRUETYPE_FONT, is).deriveFont(Font.BOLD, 40f);