我们可以在Java中将2种字体样式组合在一起吗

12 java fonts swing jlabel

我试图改变一个字体,JLabel所以它是BOLDITALIC,但似乎没有定义静态字段这样做.我们如何组合两种样式,以便我们可以使用粗体斜体字体?

这段代码只使用静态字段以粗体显示BOLD,但没有为粗体和斜体定义字段:

Font font = new Font("Verdana", Font.BOLD, 12);
label = new JLabel ("New Image") ;
label.setFont(font);
label.setForeground(Color.Gray.darker());
Run Code Online (Sandbox Code Playgroud)

tra*_*god 25

是的,该style参数被视为位掩码:

new Font("Verdana", Font.BOLD + Font.ITALIC, 12)
Run Code Online (Sandbox Code Playgroud)

  • 按位"或"| 优于添加("+") (5认同)

Paŭ*_*ann 10

从此构造函数的API文档:

参数:

  • ...
  • style - Font的样式常量.style参数是一个整数位掩码,可以是PLAIN,或者是BOLD和/或ITALIC(例如,ITALICBOLD|ITALIC)的按位联合.如果style参数不符合预期的整数位掩码之一,则样式设置为PLAIN.
  • ...

因此,使用

new Font("Verdana", Font.BOLD | Font.ITALIC, 12);
Run Code Online (Sandbox Code Playgroud)

这里.

  • +1 GMTA; 我看到"|" 优于"+". (2认同)