点击STYLE
时如何更改Font
的{{1}}?
我正在尝试将3个按钮更改为JButton
或PLAIN
或BOLD
我看过ITALIC
,但我没有像font Class API
我们只能setStyle
我发现java中的字体类比它应该更复杂:S。
答案 0 :(得分:13)
您需要调用setFont(...)
而不是setStyle。
例如,如果您想保留相同的字体但更改名为“field”的JTextField的样式,您可以执行以下操作:
field.setFont(field.getFont().deriveFont(Font.BOLD));
修改强>
要将字体设置为粗体和斜体,您可以使用位图:
field.setFont(field.getFont().deriveFont(Font.BOLD | Font.ITALIC));
请注意,这使用了按位包含OR运算符,该运算符使用单个管道符号:|
而不是使用双管道符号的逻辑OR运算符:||
。
还要注意|
可用作逻辑OR运算符的进一步细微之处和混淆,但您通常更喜欢使用||
,因为后者是“短路”运算符,如果表达式的左侧为真,则右侧甚至不进行评估。
答案 1 :(得分:4)
获取当前字体,使用deriveFont
获取与当前字体类似的新字体,但使用新样式,并应用新字体。
答案 2 :(得分:4)
你可以按照以下方式进行操作
JButton myButton=new JButton();
myButton.setText("My Button");
myButton.setFont(new Font("Serif", Font.BOLD, 14));
答案 3 :(得分:2)
作为替代方案,您可以查看JEditorPane
可用的StyledEditorKit
操作。有一个相关示例here和一个教程here。