Подтвердить что ты не робот

Можем ли мы объединить 2 стили шрифта вместе в Java?

Я пытаюсь изменить шрифт JLabel, поэтому он как BOLD, так и ITALIC, но, похоже, для этого не существует статического поля. Как мы можем объединить два стиля, чтобы мы могли иметь жирный, курсивный шрифт?

Этот код будет делать это только жирным шрифтом, используя статическое поле BOLD, но не определено поле для жирного и курсивного:

Font font = new Font("Verdana", Font.BOLD, 12);
label = new JLabel ("New Image") ;
label.setFont(font);
label.setForeground(Color.Gray.darker());
4b9b3361

Ответ 1

Да, параметр style рассматривается как битовая маска:

new Font("Verdana", Font.BOLD + Font.ITALIC, 12)

Ответ 2

В документации API этого конструктора:

Параметры:

  • ...
  • style - константа стиля для шрифта. Аргумент стиля представляет собой целочисленную битовую маску, которая может быть PLAIN или побитовое объединение BOLD и/или ITALIC (например, ITALIC или BOLD|ITALIC). Если аргумент стиля не соответствует одному из ожидаемых целочисленных битмаск, тогда стиль устанавливается на PLAIN.
  • ...

Таким образом, используйте

new Font("Verdana", Font.BOLD | Font.ITALIC, 12);

здесь.