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:
  • Field Details Link icon

    • DefaultPainter Link icon

      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 Link icon

    • DefaultHighlighter Link icon

      public DefaultHighlighter()
      Creates a new DefaultHighlighter object.
  • Method Details Link icon

    • paint Link icon

      public void paint(Graphics g)
      Renders the highlights.
      Parameters:
      g - the graphics context
    • install Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      public void removeHighlight(Object tag)
      Removes a highlight from the view.
      Parameters:
      tag - the reference to the highlight
    • removeAllHighlights Link icon

      public void removeAllHighlights()
      Removes all highlights.
    • changeHighlight Link icon

      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 Link icon

      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 Link icon

      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 class LayeredHighlighter
      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 Link icon

      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 Link icon

      public boolean getDrawsLayeredHighlights()
      Return the draw layered highlights.
      Returns:
      the draw layered highlights