• 追加された行はこの色です。
  • 削除された行はこの色です。
#navi(../)
*Highlighterで文字列を強調表示 [#e299b873]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2005-12-05~
更新日:&lastmod;
#contents

**概要 [#l11a7970]
Highlighterを使ってテキスト中の文字列を強調表示します。

http://terai.xrea.jp/swing/highlighter/screenshot.png

**サンプルコード [#l4fc3b9f]
 public void setHighlight(JTextComponent jtc, String pattern) {
   removeHighlights(jtc);
   try{
     Highlighter hilite = jtc.getHighlighter();
     Document doc = jtc.getDocument();
     String text = doc.getText(0, doc.getLength());
     int pos = 0;
     while((pos = text.indexOf(pattern, pos)) >= 0) {
       hilite.addHighlight(pos, pos+pattern.length(), highlightPainter);
       pos += pattern.length();
     }
   }catch(BadLocationException e) {}
 }

-[[サンプルを起動>http://terai.xrea.jp/swing/highlighter/sample.jnlp]]
-[[jarファイル>http://terai.xrea.jp/swing/highlighter/sample.jar]]
-[[ソース>http://terai.xrea.jp/swing/highlighter/src.zip]]

**解説 [#aaff25e3]
テキストコンポーネントからHighlighterを取得し、Highlighter#addHighlightメソッドで検索した文字列を追加していきます。

上記のサンプルでは、ハイライトの色をDefaultHighlighter.DefaultHighlightPainterを使って指定しています。

**参考リンク [#ncf1589c]
-[[Java Forums - Searching text in files & highlighting that text>http://forum.java.sun.com/thread.jspa?threadID=641649]]

**コメント [#z9e32e25]
#comment