TITLE:Highlighterで文字列をハイライト

Highlighterで文字列をハイライト

編集者:Terai Atsuhiro
作成日:2005-12-05
更新日:2023-12-31 (日) 19:27:47

概要

Highlighterを使ってテキスト中の文字列を強調表示します。

#screenshot

サンプルコード

 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) {}
 }
  • &jnlp;
  • &jar;
  • &zip;

解説

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

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

参考リンク

コメント