在你提供的示例中,你会找到一些线索,帮助你完成你想做的事情。
这行代码:
StyleConstants.setFontSize(attrs, font.getSize());
该方法可以改变JTextPane的字体大小,并将其设置为您作为参数传递给此方法的字体大小。如果您想要根据当前大小设置新的大小,可以使用该方法。
//first get the current size of the font
int size = StyleConstants.getFontSize(attrs);
//now increase by 2 (or whatever factor you like)
StyleConstants.setFontSize(attrs, size * 2);
这将使JTextPane的字体大小翻倍。当然,您可以以较慢的速度增加字体大小。
现在您需要一个按钮来调用您的方法。
JButton b1 = new JButton("Increase");
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
increaseJTextPaneFont(text);
}
});
所以您可以编写一个类似于示例中的方法,如下所示:
public static void increaseJTextPaneFont(JTextPane jtp) {
MutableAttributeSet attrs = jtp.getInputAttributes();
int size = StyleConstants.getFontSize(attrs);
StyleConstants.setFontSize(attrs, size * 2);
StyledDocument doc = jtp.getStyledDocument();
doc.setCharacterAttributes(0, doc.getLength() + 1, attrs, false);
}