# Class LayeredHighlighter

java.lang.Object
javax.swing.text.LayeredHighlighter

All Implemented Interfaces:
  `Highlighter`

Direct Known Subclasses:
  `DefaultHighlighter`

public abstract class LayeredHighlighter extends Object implements Highlighter
Implementation of `Highlighter` interface to mark up the background of leaf views with colored areas.

See Also:
  - `Highlighter`

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`LayeredHighlighter.LayerPainter`
Layered highlight renderer.

### Nested classes/interfaces declared in interface Highlighter

`Highlighter.Highlight, Highlighter.HighlightPainter`
Modifier and Type
Interface
Description
`static interface`
`Highlighter.Highlight`
A highlight.
`static interface`
`Highlighter.HighlightPainter`
Highlight renderer.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`LayeredHighlighter()`
Constructor for subclasses to call.

## Method Summary

Modifier and Type
Method
Description
`abstract void`
`paintLayeredHighlights(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view)`
When leaf Views (such as LabelView) are rendering they should call into this method.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

### Methods declared in interface Highlighter

`addHighlight, changeHighlight, deinstall, getHighlights, install, paint, removeAllHighlights, removeHighlight`
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.

## Constructor Details

### LayeredHighlighter

protected LayeredHighlighter()
Constructor for subclasses to call.

## Method Details

### paintLayeredHighlights

public abstract void paintLayeredHighlights(Graphics g, int p0, int p1, Shape viewBounds, JTextComponent editor, View view)
When leaf Views (such as LabelView) are rendering they should call into this method. If a highlight is in the given region it will be drawn immediately.

Parameters:
  `g` - Graphics used to draw
  `p0` - starting offset of view
  `p1` - ending offset of view
  `viewBounds` - Bounds of View
  `editor` - JTextComponent
  `view` - View instance being rendered