• category: swing folder: StyleConstants title: JTextPaneに修飾した文字列を挿入 tags: [JTextPane, StyledDocument] author: aterai pubdate: 2004-01-12 description: JTextPaneに、スタイル付けした文字列を挿入して、ログ風に表示します。 image: https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTT31r9lEI/AAAAAAAAAlI/7PqL2Aa3UJU/s800/StyleConstants.png

概要

JTextPaneに、スタイル付けした文字列を挿入して、ログ風に表示します。

サンプルコード

StyledDocument doc = jtp.getStyledDocument();
Style def = doc.getStyle(StyleContext.DEFAULT_STYLE);
Style error = doc.addStyle("error", def);
StyleConstants.setForeground(error, Color.RED);
// ...

private void append(String str, boolean flg) {
  String style = flg ? StyleContext.DEFAULT_STYLE : "error";
  StyledDocument doc = jtp.getStyledDocument();
  try {
    doc.insertString(doc.getLength(), str + "\n", doc.getStyle(style));
  } catch (BadLocationException e) {
    e.printStackTrace();
  }
}
View in GitHub: Java, Kotlin

解説

上記のサンプルでは、以下の手順でJTextPaneにスタイルを設定した文字列を追加しています。

  • JTextPaneからStyledDocumentを取得
  • 予め設定しておいたエラー表示用の文字属性スタイルをStyledDocument#getStyle("error")メソッドで取得
  • このスタイルと文字列と合わせてDocument#insertString(...)メソッドで挿入

参考リンク

コメント