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

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Simple highlight painter that fills a highlighted area with a solid color.

    Nested classes/interfaces declared in class LayeredHighlighter

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

    Nested classes/interfaces declared in interface Highlighter

    Highlighter.Highlight, Highlighter.HighlightPainter
    Modifier and Type
    Interface
    Description
    static interface 
    A highlight.
    static interface 
    Highlight renderer.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    Default implementation of LayeredHighlighter.LayerPainter that can be used for painting highlights.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new DefaultHighlighter object.
  • Method Summary

    Modifier and Type
    Method
    Description
    Adds a highlight to the view.
    void
    changeHighlight(Object tag, int p0, int p1)
    Changes a highlight.
    void
    Called when the UI is being removed from the interface of a JTextComponent.
    boolean
    Return the draw layered highlights.
    Makes a copy of the highlights.
    void
    Called when the UI is being installed into the interface of a JTextComponent.
    void
    Renders the highlights.
    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.
    void
    Removes all highlights.
    void
    Removes a highlight from the view.
    void
    setDrawsLayeredHighlights(boolean newValue)
    If true, highlights are drawn as the Views draw the text.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • 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 DefaultHighlighter 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 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

      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