java.lang.Object
javax.swing.text.LayeredHighlighter
javax.swing.text.DefaultHighlighter
- All Implemented Interfaces:
Highlighter
- Direct Known Subclasses:
BasicTextUI.BasicHighlighter
Implements the Highlighter interfaces. Implements a simple highlight
painter that renders in a solid color.
- See Also:
Highlighter
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classSimple highlight painter that fills a highlighted area with a solid color.Nested classes/interfaces declared in class javax.swing.text.LayeredHighlighter
LayeredHighlighter.LayerPainterNested classes/interfaces declared in interface javax.swing.text.Highlighter
Highlighter.Highlight, Highlighter.HighlightPainter -
Field Summary
FieldsModifier and TypeFieldDescriptionDefault implementation of LayeredHighlighter.LayerPainter that can be used for painting highlights. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddHighlight(int p0, int p1, Highlighter.HighlightPainter p)Adds a highlight to the view.voidchangeHighlight(Object tag, int p0, int p1)Changes a highlight.voidCalled when the UI is being removed from the interface of a JTextComponent.booleanReturn the draw layered highlights.Makes a copy of the highlights.voidCalled when the UI is being installed into the interface of a JTextComponent.voidRenders the highlights.voidpaintLayeredHighlights(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.voidRemoves all highlights.voidremoveHighlight(Object tag)Removes a highlight from the view.voidsetDrawsLayeredHighlights(boolean newValue)If true, highlights are drawn as the Views draw the text.
-
Field Details
-
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
Renders the highlights.- Parameters:
g- the graphics context
-
install
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:
Highlighter.install(javax.swing.text.JTextComponent)
-
deinstall
Called when the UI is being removed from the interface of a JTextComponent.- Parameters:
c- the component- See Also:
Highlighter.deinstall(javax.swing.text.JTextComponent)
-
addHighlight
public Object addHighlight(int p0, int p1, Highlighter.HighlightPainter p) throws BadLocationExceptionAdds 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 >= 0p1- the end offset of the range to highlight >= p0p- 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
Removes a highlight from the view.- Parameters:
tag- the reference to the highlight
-
removeAllHighlights
public void removeAllHighlights()Removes all highlights. -
changeHighlight
Changes a highlight.- Parameters:
tag- the highlight tagp0- the beginning of the range >= 0p1- the end of the range >= p0- Throws:
BadLocationException- if the specified location is invalid
-
getHighlights
Makes a copy of the highlights. Does not actually clone each highlight, but only makes references to them.- Returns:
- the copy
- See Also:
Highlighter.getHighlights()
-
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:
paintLayeredHighlightsin classLayeredHighlighter- Parameters:
g- Graphics used to drawp0- starting offset of viewp1- ending offset of viewviewBounds- Bounds of Vieweditor- JTextComponentview- 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 intopaintLayeredHighlightwhich 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
-