Class DefaultHighlighter
java.lang.Object
javax.swing.text.LayeredHighlighter
javax.swing.text.DefaultHighlighter
- All Implemented Interfaces:
Highlighter
- Direct Known Subclasses:
BasicTextUI.BasicHighlighter
public class DefaultHighlighter extends LayeredHighlighter
Implements the Highlighter interfaces. Implements a simple highlight painter that renders in a solid color.
- See Also:
Nested Class Summary
Modifier and Type | Class | Description |
---|---|---|
static class |
DefaultHighlighter.DefaultHighlightPainter |
Simple highlight painter that fills a highlighted area with a solid color. |
Nested classes/interfaces declared in class javax.swing.text.LayeredHighlighter
LayeredHighlighter.LayerPainter
Nested classes/interfaces declared in interface javax.swing.text.Highlighter
Highlighter.Highlight, Highlighter.HighlightPainter
Field Summary
Modifier and Type | Field | Description |
---|---|---|
static final LayeredHighlighter.LayerPainter |
DefaultPainter |
Default implementation of LayeredHighlighter.LayerPainter that can be used for painting highlights. |
Constructor Summary
Constructor | Description |
---|---|
DefaultHighlighter() |
Creates a new DefaultHighlighther object. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
Object |
addHighlight |
Adds a highlight to the view. |
void |
changeHighlight |
Changes a highlight. |
void |
deinstall |
Called when the UI is being removed from the interface of a JTextComponent. |
boolean |
getDrawsLayeredHighlights() |
Return the draw layered highlights. |
Highlighter.Highlight[] |
getHighlights() |
Makes a copy of the highlights. |
void |
install |
Called when the UI is being installed into the interface of a JTextComponent. |
void |
paint |
Renders the highlights. |
void |
paintLayeredHighlights |
When leaf Views (such as LabelView) are rendering they should call into this method. |
void |
removeAllHighlights() |
Removes all highlights. |
void |
removeHighlight |
Removes a highlight from the view. |
void |
setDrawsLayeredHighlights |
If true, highlights are drawn as the Views draw the text. |
Field Details
DefaultPainter
public static final LayeredHighlighter.LayerPainter DefaultPainter
Default implementation of LayeredHighlighter.LayerPainter that can be used for painting highlights.
As of 1.4 this field is final.
Constructor Details
DefaultHighlighter
public DefaultHighlighter()
Creates a new DefaultHighlighther object.
Method Details
paint
public void paint(Graphics g)
Renders the highlights.
- Parameters:
-
g
- the graphics context
install
public void install(JTextComponent c)
Called when the UI is being installed into the interface of a JTextComponent. Installs the editor, and removes any existing highlights.
- Parameters:
-
c
- the editor component - See Also:
deinstall
public void deinstall(JTextComponent c)
Called when the UI is being removed from the interface of a JTextComponent.
- Parameters:
-
c
- the component - See Also:
addHighlight
public 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 start offset of the range to highlight >= 0 -
p1
- the end offset of the range to highlight >= p0 -
p
- the painter to use to actually render the highlight - Returns:
- an object that can be used as a tag to refer to the highlight
- Throws:
-
BadLocationException
- if the specified location is invalid
removeHighlight
public void removeHighlight(Object tag)
Removes a highlight from the view.
- Parameters:
-
tag
- the reference to the highlight
removeAllHighlights
public void removeAllHighlights()
Removes all highlights.
changeHighlight
public void changeHighlight(Object tag, int p0, int p1) throws BadLocationException
Changes a highlight.
- Parameters:
-
tag
- the highlight tag -
p0
- the beginning of the range >= 0 -
p1
- the end of the range >= p0 - Throws:
-
BadLocationException
- if the specified location is invalid
getHighlights
public Highlighter.Highlight[] getHighlights()
Makes a copy of the highlights. Does not actually clone each highlight, but only makes references to them.
- Returns:
- the copy
- See Also:
paintLayeredHighlights
public 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.
- Specified by:
-
paintLayeredHighlights
in classLayeredHighlighter
- 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
setDrawsLayeredHighlights
public void setDrawsLayeredHighlights(boolean newValue)
If true, highlights are drawn as the Views draw the text. That is the Views will call into
paintLayeredHighlight
which will result in a rectangle being drawn before the text is drawn (if the offsets are in a highlighted region that is). For this to work the painter supplied must be an instance of LayeredHighlightPainter.- Parameters:
-
newValue
- the new value
getDrawsLayeredHighlights
public boolean getDrawsLayeredHighlights()
Return the draw layered highlights.
- Returns:
- the draw layered highlights
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/text/DefaultHighlighter.html