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