Highlighter (Java SE 15 & JDK 15)
Description: declaration: module: java.desktop, package: javax.swing.text, interface: Highlighter
Keywords: javax.swing.text.Highlighter interface

Module java.desktop
Package javax.swing.text

# Interface Highlighter

All Known Implementing Classes:
  `BasicTextUI.BasicHighlighter`, `DefaultHighlighter`, `LayeredHighlighter`

    public interface Highlighter

An interface for an object that allows one to mark up the background with colored areas.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Interface | Description
  --- | --- | ---
  `static interface` | `Highlighter.Highlight` | A highlight.
  `static interface` | `Highlighter.HighlightPainter` | Highlight renderer.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Object` | `addHighlight​(int p0, int p1, Highlighter.HighlightPainter p)` | Adds a highlight to the view.
  `void` | `changeHighlight​(Object tag, int p0, int p1)` | Changes the given highlight to span a different portion of the document.
  `void` | `deinstall​(JTextComponent c)` | Called when the UI is being removed from the interface of a JTextComponent.
  `Highlighter.Highlight[]` | `getHighlights()` | Fetches the current list of highlights.
  `void` | `install​(JTextComponent c)` | Called when the UI is being installed into the interface of a JTextComponent.
  `void` | `paint​(Graphics g)` | Renders the highlights.
  `void` | `removeAllHighlights()` | Removes all highlights this highlighter is responsible for.
  `void` | `removeHighlight​(Object tag)` | Removes a highlight from the view.

- ## Method Details

  - ### install

    void install​(JTextComponent c)
    Called when the UI is being installed into the interface of a JTextComponent. This can be used to gain access to the model that is being navigated by the implementation of this interface.
    Parameters:
      `c` - the JTextComponent editor

  - ### deinstall

    void deinstall​(JTextComponent c)
    Called when the UI is being removed from the interface of a JTextComponent. This is used to unregister any listeners that were attached.
    Parameters:
      `c` - the JTextComponent editor

  - ### paint

    void paint​(Graphics g)
    Renders the highlights.
    Parameters:
      `g` - the graphics context.

  - ### addHighlight

    Object addHighlight​(int p0, int p1, Highlighter.HighlightPainter p) throws BadLocationException
    Adds a highlight to the view. Returns a tag that can be used to refer to the highlight.
    Parameters:
      `p0` - the beginning of the range >= 0
      `p1` - the end of the range >= p0
      `p` - the painter to use for the actual highlighting
    Returns:
      an object that refers to the highlight
    Throws:
      `BadLocationException` - for an invalid range specification

  - ### removeHighlight

    void removeHighlight​(Object tag)
    Removes a highlight from the view.
    Parameters:
      `tag` - which highlight to remove

  - ### removeAllHighlights

    void removeAllHighlights()
    Removes all highlights this highlighter is responsible for.

  - ### changeHighlight

    void changeHighlight​(Object tag, int p0, int p1) throws BadLocationException
    Changes the given highlight to span a different portion of the document. This may be more efficient than a remove/add when a selection is expanding/shrinking (such as a sweep with a mouse) by damaging only what changed.
    Parameters:
      `tag` - which highlight to change
      `p0` - the beginning of the range >= 0
      `p1` - the end of the range >= p0
    Throws:
      `BadLocationException` - for an invalid range specification

  - ### getHighlights

    Highlighter.Highlight[] getHighlights()
    Fetches the current list of highlights.
    Returns:
      the highlight list