Module java.desktop

Class DefaultHighlighter

    • Field Detail

      • 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 Detail

      • DefaultHighlighter

        public DefaultHighlighter()
        Creates a new DefaultHighlighther object.
    • Method Detail

      • paint

        public void paint​(Graphics g)
        Renders the highlights.
        Parameters:
        g - the graphics context
      • 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
      • 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