,当点击一个JButton
点击时,如何改变Font
的STYLE
?更改字体样式上一个JButton的Java
我想有3个按钮,每个按钮改变样式PLAIN
或BOLD
或ITALIC
我读过font Class API
但我有没有像setStyle
我们只getStyle
可以找到字体类在java中比它应该更复杂:S。
,当点击一个JButton
点击时,如何改变Font
的STYLE
?更改字体样式上一个JButton的Java
我想有3个按钮,每个按钮改变样式PLAIN
或BOLD
或ITALIC
我读过font Class API
但我有没有像setStyle
我们只getStyle
可以找到字体类在java中比它应该更复杂:S。
您需要调用setFont(...)
不使用setStyle。
例如,如果你想保持相同的字体,但更改JTextField的所谓风格“场”,你可以这样做:
field.setFont(field.getFont().deriveFont(Font.BOLD));
编辑
要设置字体既粗体和斜体,你还是位图:
field.setFont(field.getFont().deriveFont(Font.BOLD | Font.ITALIC));
请注意,这里使用了按位或者使用一个管道符号操作:|
而THA n使用双管符号的逻辑OR运算符:||
。
另外请注意,对于|
可以用作逻辑OR运算符,但由于后者是一个“短路”运算符,您通常更愿意使用||
,因为如果左手表达的一面是真实的,右边甚至没有评估。
真棒!所以每次我们想要编辑任何参数时,我们必须'setFont'。我之前尝试过使用'deriveFont',但我不知道如何使用它。现在它完全清楚:)谢谢@Hovercraft! – Sobiaholic 2011-12-30 13:31:00
我有一个问题,怎么样,如果我想要的文字是'ITALIC'和'BOLD'? – Sobiaholic 2011-12-30 13:40:01
@iMohammad:请参阅上面的修改。 – 2011-12-30 14:02:34
获取当前字体,使用deriveFont
得到一个新的字体相似,当前但有新的风格,并应用新的字体。
谢谢:)我已经发布前仔细阅读,但目前还不清楚。感谢@Hovercraft他的例子帮了我很多! – Sobiaholic 2011-12-30 13:35:15
你可以做如下
JButton myButton=new JButton();
myButton.setText("My Button");
myButton.setFont(new Font("Serif", Font.BOLD, 14));
作为替代方案,你可能看可供JEditorPane
的StyledEditorKit
行动。有一个相关的例子here和教程here。
另请参阅http://stackoverflow.com/questions/8675038/increasing-decreasing-font-size-inside-textarea-using-jbutton对于一个非常类似的问题 – Robin 2011-12-30 11:51:10