单击JButton Java时更改字体样式
如何在单击JButton
时更改Font
的STYLE
?
我试图让3个按钮各自改变PLAIN
或BOLD
或ITALIC
样式
我已经阅读了font Class API
但我没有像setStyle
那样只有getStyle
我发现java中的字体类比它应该更复杂:S。
你需要调用setFont(...)
而不是setStyle。
例如,如果要保持相同的字体但更改名为“field”的JTextField的样式,则可以执行以下操作:
field.setFont(field.getFont().deriveFont(Font.BOLD));
编辑
要将字体设置为粗体和斜体,您需要或者位图:
field.setFont(field.getFont().deriveFont(Font.BOLD | Font.ITALIC));
请注意,这使用按位包含OR运算符,该运算符使用单个管道符号: |
而不是使用双管道符号的逻辑OR运算符: ||
。
还要注意进一步的微妙和混乱 可以用作逻辑OR运算符,但您通常更喜欢使用||
为此,因为后者是一个“短路”操作符,因为如果表达式的左侧是真的,则甚至不评估右侧。
获取当前的Font,使用deriveFont
获取类似于当前的Font但具有新样式的新Font,并应用新字体。
你可以这样做
JButton myButton=new JButton(); myButton.setText("My Button"); myButton.setFont(new Font("Serif", Font.BOLD, 14));
作为替代方案,您可以查看JEditorPane
可用的StyledEditorKit
操作。 这里有一个相关的例子和一个教程。