В приведенном вами примере вы найдете некоторые подсказки о том, что вы пытаетесь сделать.
Линия
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();
//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);
StyledDocument doc = jtp.getStyledDocument();
doc.setCharacterAttributes(0, doc.getLength() + 1, attrs, false);
}