如何在Java SWING中设置自定义字体的大小和其他属性(粗体,斜体等)

Ada*_*ith 6 java fonts swing custom-font

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

public static final Font TITLEFONT = new Font("Calibri", Font.BOLD, 40);
Run Code Online (Sandbox Code Playgroud)

现在,由于我正在使用.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);
}
Run Code Online (Sandbox Code Playgroud)

我很确定它正确地初始化它(我无法确定,因为它对我来说太小了),但我想知道如何手动设置字体的大小(如果它是粗体/其他这种方式加载字体时.

非常感谢提前!

Hov*_*els 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);
Run Code Online (Sandbox Code Playgroud)