私は現在 JTextPane を使用していますが、私がしていることは次のとおりです。
JTextPane pane = new JTextPane();
StyledDocument doc = pane.getStyledDocument();
したがって、次を使用して任意の場所に文字列を挿入できます。
doc.insertString(STRING POSITION, STRING, null);
この方法には例外はありません。以下を使用して文字のスタイルを設定する簡単な方法もあります。
SimpleAttributeSet set = new SimpleAttributeSet();
//Here you modify set. Set is collection of
//various style instructions
//(letters color, bolded, italic, background color etc.)
//You modify set using StyleConstants class.
doc.setCharacterAttributes(START, LENGTH, set, true);
編集:テキスト ペインを作成し、「Hello World」のスタイルで書き込みを行う例:
JTextPane pane = new JTextPane();
StyledDocument doc = pane.getStyledDocument();
doc.insertString(0, "Hello", null);
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstans.setForeground(set, Color.RED);
doc.setCharacterAttributes(0, 5, set, true);
doc.insertString(5, "World!", null);
SimpleAttributeSet set = new SimpleAttributeSet();
StyleConstans.setForeground(set, Color.BLUE);
doc.setCharacterAttributes(5, 6, set, true);
これを GridLayout(1, 1) を使用して JPanel に追加すると、赤い文字列「Hello」と青い文字列「World」を含むテキスト ペインが表示されます。