Highlight a word in JTextComponent : JTextComponent « Swing JFC « Java






Highlight a word in JTextComponent

  

import java.awt.Color;

import javax.swing.JTextArea;
import javax.swing.text.BadLocationException;
import javax.swing.text.DefaultHighlighter;
import javax.swing.text.Document;
import javax.swing.text.Highlighter;
import javax.swing.text.JTextComponent;

public class Main {
  public static void main(String[] argv) throws Exception {
    JTextArea textComp = new JTextArea();

    Highlighter hilite = textComp.getHighlighter();
    Highlighter.Highlight[] hilites = hilite.getHighlights();

    for (int i = 0; i < hilites.length; i++) {
      if (hilites[i].getPainter() instanceof MyHighlightPainter) {
        hilite.removeHighlight(hilites[i]);
      }
    }
    highlight(textComp);
  }
  public static void highlight(JTextComponent textComp) {
    try {
      Highlighter hilite = textComp.getHighlighter();
      Document doc = textComp.getDocument();
      hilite.addHighlight(3, 5, new MyHighlightPainter(Color.red));
    } catch (BadLocationException e) {
      e.printStackTrace();
    }
  }
}

class MyHighlightPainter extends DefaultHighlighter.DefaultHighlightPainter {
  public MyHighlightPainter(Color color) {
    super(color);
  }
}

   
    
  








Related examples in the same category

1.Creating a Custom Editing Command for a JTextComponent
2.Overriding a Few Default Typed Key Bindings in a JTextComponent
3.Listing the Key Bindings in a JTextComponent Keymap
4.Listening for Caret Movement Events in a JTextComponent
5.Listening for Editing Changes in a JTextComponent
6.Modifying Text in a JTextComponent: Insert some text at the beginning
7.Modifying Text in a JTextComponent: Insert some text after the 5th character
8.Modifying Text in a JTextComponent: Append some text
9.Modifying Text in a JTextComponent: Delete the first 5 characters
10.Modifying Text in a JTextComponent: Replace the first 3 characters with some text
11.Using a Position in a JTextComponent
12.Limiting the Capacity of a JTextComponent
13.Enabling Text-Dragging on a JTextComponent
14.Sharing a Document Between JTextComponents
15.Enumerating All the Views in a JTextComponent
16.Moving the Caret of a JTextComponent
17.Setting the Blink Rate of a JTextComponent's Caret
18.Using the Selection of a JTextComponent
19.Get the first 3 characters
20.Get the last 3 characters
21.Filter all editing operations on a text component
22.Remove Highlighting in a JTextComponent
23.Replace selected text
24.Set the color of text inside the selection
25.Better way to set the selection
26.Get value from JTextCompnent and convert it to upper case
27.Set the color behind the selected text