Как установить размер пользовательского шрифта и другие атрибуты (полужирный, курсив и т. д.) В Java SWING
обычно, когда я инициализирую шрифты, которые я хочу использовать в своих приложениях SWING, я делаю это следующим образом:
public static final Font TITLEFONT = new Font("Calibri", Font.BOLD, 40);
теперь я должен сделать это немного по-другому, так как я использую некоторые пользовательские шрифты из a .файл 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);
}
Я уверен, что он инициализирует его правильно (я не могу сказать наверняка, так как он слишком мал для меня), но я хотел бы знать, как я могу вручную установить размер шрифта (и если он полужирный / другие атрибуты), когда загрузка шрифта таким образом.
большое спасибо заранее!
1 ответов
createFont
возвращает шрифт, и вы можете вызвать deriveFont(...)
на этом, передавая float для размера точки или int и float для стиля шрифта и размера точки. Я не могу сказать, будет ли это работать для вашей конкретной ситуации, но стоит попробовать.
например,
InputStream is = OptionsValues.class.getResourceAsStream("fonts//KOMIKAX_.ttf");
TITLEFONT = Font.createFont(Font.TRUETYPE_FONT, is).deriveFont(Font.BOLD, 40f);