キーワードを強調表示する方法

JTextPaneは文字の色を変えたり、BoldItalic, Underlineなど、HTML並みの表現ができます。
最近のエディタみたいに強調表示してみたくなって調べてみました。

import javax.swing.*;
import javax.swing.text.*;


public class JTextPaneTest1 extends JFrame {
    JTextPane pane;
    JTextPaneTest1() {
        super("JTextPaneTest1");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(640, 480);
        pane = new JTextPane();
        getContentPane().add(pane);
        pane.setText("ABC123あいうえお\nいろはにほへと");
        StyledDocument doc = (StyledDocument) pane.getDocument();
        SimpleAttributeSet attr = new SimpleAttributeSet();
        StyleConstants.setBold(attr, true);
        doc.setCharacterAttributes(3, 5, attr, true);   // 3文字目から5文字分を太字に
        
        setVisible(true);
    }

    public static void main(String[] args) {
        new JTextPaneTest1();
    }
}