概要

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(...)メソッドで挿入

参考リンク

コメント