单击JButton Java时更改字体样式

如何在单击JButton时更改FontSTYLE

我试图让3个按钮各自改变PLAINBOLDITALIC样式

我已经阅读了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操作。 这里有一个相关的例子和一个教程。