单击JButton Java时更改字体样式

时间:2011-12-30 11:41:20

标签: java swing fonts jbutton

点击STYLE时如何更改Font的{​​{1}}?

我正在尝试将3个按钮更改为JButtonPLAINBOLD

我看过ITALIC,但我没有像font Class API我们只能setStyle

我发现java中的字体类比它应该更复杂:S。

4 个答案:

答案 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