Class RSyntaxTextArea

  • All Implemented Interfaces:
    ImageObserver, MenuContainer, Printable, Serializable, Accessible, Scrollable, SyntaxConstants
    Direct Known Subclasses:
    TextEditorPane

    public class RSyntaxTextArea
    extends RTextArea
    implements SyntaxConstants
    An extension of RTextArea that adds syntax highlighting of certain programming languages to its list of features. Languages currently supported include:
    • ActionScript
    • Assembler (X86)
    • BBCode
    • C
    • C++
    • CSS
    • C#
    • Clojure
    • Dart
    • Delphi
    • DTD
    • Fortran
    • Groovy
    • HTML
    • htaccess
    • Java
    • JavaScript
    • .jshintrc
    • JSP
    • LaTeX
    • Lisp
    • Lua
    • Make
    • MXML
    • NSIS
    • Perl
    • PHP
    • Properties files
    • Python
    • Ruby
    • SAS
    • Scala
    • SQL
    • Tcl
    • UNIX shell scripts
    • Visual Basic
    • Windows batch
    • XML files
    Other added features include:
    • Code folding
    • Bracket matching
    • Auto-indentation
    • Copy as RTF
    • Clickable hyperlinks (if the language scanner being used supports it)
    • A pluggable "parser" system that can be used to implement syntax validation, spell checking, etc.
    It is recommended that you use an instance of RTextScrollPane instead of a regular JScrollPane as this class allows you to add line numbers and bookmarks easily to your text area.
    See Also:
    TextEditorPane, Serialized Form
    • Constructor Detail

      • RSyntaxTextArea

        public RSyntaxTextArea()
        Constructor.
      • RSyntaxTextArea

        public RSyntaxTextArea​(RSyntaxDocument doc)
        Constructor.
        Parameters:
        doc - The document for the editor.
      • RSyntaxTextArea

        public RSyntaxTextArea​(String text)
        Constructor.
        Parameters:
        text - The initial text to display.
      • RSyntaxTextArea

        public RSyntaxTextArea​(int rows,
                               int cols)
        Constructor.
        Parameters:
        rows - The number of rows to display.
        cols - The number of columns to display.
        Throws:
        IllegalArgumentException - If either rows or cols is negative.
      • RSyntaxTextArea

        public RSyntaxTextArea​(String text,
                               int rows,
                               int cols)
        Constructor.
        Parameters:
        text - The initial text to display.
        rows - The number of rows to display.
        cols - The number of columns to display.
        Throws:
        IllegalArgumentException - If either rows or cols is negative.
      • RSyntaxTextArea

        public RSyntaxTextArea​(RSyntaxDocument doc,
                               String text,
                               int rows,
                               int cols)
        Constructor.
        Parameters:
        doc - The document for the editor.
        text - The initial text to display.
        rows - The number of rows to display.
        cols - The number of columns to display.
        Throws:
        IllegalArgumentException - If either rows or cols is negative.
      • RSyntaxTextArea

        public RSyntaxTextArea​(int textMode)
        Creates a new RSyntaxTextArea.
        Parameters:
        textMode - Either INSERT_MODE or OVERWRITE_MODE.
    • Method Detail

      • addNotify

        public void addNotify()
        Updates the font metrics the first time we're displayed.
        Overrides:
        addNotify in class RTextAreaBase
      • addParser

        public void addParser​(Parser parser)
        Adds the parser to "validate" the source code in this text area. This can be anything from a spell checker to a "compiler" that verifies source code.
        Parameters:
        parser - The new parser. A value of null will do nothing.
        See Also:
        getParser(int), getParserCount(), removeParser(Parser)
      • appendFoldingMenu

        protected void appendFoldingMenu​(JPopupMenu popup)
        Appends a submenu with code folding options to this text component's popup menu.
        Parameters:
        popup - The popup menu to append to.
        See Also:
        createPopupMenu()
      • clearParsers

        public void clearParsers()
        Removes all parsers from this text area.
        See Also:
        removeParser(Parser)
      • copyAsRtf

        public void copyAsRtf()
        Copies the currently selected text to the system clipboard, with any necessary style information (font, foreground color and background color). Does nothing for null selections.
      • createDefaultModel

        protected Document createDefaultModel()
        Returns the document to use for an RSyntaxTextArea
        Overrides:
        createDefaultModel in class RTextArea
        Returns:
        The document.
      • doBracketMatching

        protected final void doBracketMatching()
        If the caret is on a bracket, this method finds the matching bracket, and if it exists, highlights it.
      • fireCaretUpdate

        protected void fireCaretUpdate​(CaretEvent e)
        Notifies all listeners that a caret change has occurred.
        Overrides:
        fireCaretUpdate in class RTextArea
        Parameters:
        e - The caret event.
      • foldToggled

        public void foldToggled​(Fold fold)
        Called whenever a fold is collapsed or expanded. This causes the text editor to revalidate. This method is here because of poor design and should be removed.
        Parameters:
        fold - The fold that was collapsed or expanded.
      • forceReparsing

        public void forceReparsing​(int parser)
        Forces the given Parser to re-parse the content of this text area.

        This method can be useful when a Parser can be configured as to what notices it returns. For example, if a Java language parser can be configured to set whether no serialVersionUID is a warning, error, or ignored, this method can be called after changing the expected notice type to have the document re-parsed.

        Parameters:
        parser - The index of the Parser to re-run.
        See Also:
        getParser(int)
      • forceReparsing

        public boolean forceReparsing​(Parser parser)
        Forces re-parsing with a specific parser. Note that if this parser is not installed on this text area, nothing will happen.
        Parameters:
        parser - The parser that should re-parse this text area's contents. This should be installed on this text area.
        Returns:
        Whether the parser was installed on this text area.
        See Also:
        forceReparsing(int)
      • getAnimateBracketMatching

        public boolean getAnimateBracketMatching()
        Returns whether bracket matching should be animated.
        Returns:
        Whether bracket matching should be animated.
        See Also:
        setAnimateBracketMatching(boolean)
      • getBackgroundForToken

        public Color getBackgroundForToken​(Token token)
        Returns the background color for a token.
        Parameters:
        token - The token.
        Returns:
        The background color to use for that token. If this value is is null then this token has no special background color.
        See Also:
        getForegroundForToken(Token)
      • getCloseCurlyBraces

        public boolean getCloseCurlyBraces()
        Returns whether curly braces should be automatically closed when a newline is entered after an opening curly brace. Note that this property is only honored for languages that use curly braces to denote code blocks.
        Returns:
        Whether curly braces should be automatically closed.
        See Also:
        setCloseCurlyBraces(boolean)
      • getCloseMarkupTags

        public boolean getCloseMarkupTags()
        Returns whether closing markup tags should be automatically completed when "</" is typed. Note that this property is only honored for markup languages, such as HTML, XML and PHP.
        Returns:
        Whether closing markup tags should be automatically completed.
        See Also:
        setCloseMarkupTags(boolean)
      • getCodeTemplateManager

        public static CodeTemplateManager getCodeTemplateManager()
        Returns the code template manager for all instances of RSyntaxTextArea. The manager is lazily created.
        Returns:
        The code template manager.
        See Also:
        setTemplatesEnabled(boolean)
      • getDefaultBracketMatchBGColor

        public static final Color getDefaultBracketMatchBGColor()
        Returns the default bracket-match background color.
        Returns:
        The color.
        See Also:
        getDefaultBracketMatchBorderColor()
      • getDefaultBracketMatchBorderColor

        public static final Color getDefaultBracketMatchBorderColor()
        Returns the default bracket-match border color.
        Returns:
        The color.
        See Also:
        getDefaultBracketMatchBGColor()
      • getDefaultSelectionColor

        public static Color getDefaultSelectionColor()
        Returns the default selection color for this text area. This color was chosen because it's light and RSyntaxTextArea does not change text color between selected/unselected text for contrast like regular JTextAreas do.
        Returns:
        The default selection color.
      • getFoldManager

        public FoldManager getFoldManager()
        Returns the fold manager for this text area.
        Returns:
        The fold manager.
      • getFontForTokenType

        public Font getFontForTokenType​(int type)
        Returns the font for tokens of the specified type.
        Parameters:
        type - The type of token.
        Returns:
        The font to use for that token type.
        See Also:
        getFontMetricsForTokenType(int)
      • getFontMetricsForTokenType

        public FontMetrics getFontMetricsForTokenType​(int type)
        Returns the font metrics for tokens of the specified type.
        Parameters:
        type - The type of token.
        Returns:
        The font metrics to use for that token type.
        See Also:
        getFontForTokenType(int)
      • getForegroundForToken

        public Color getForegroundForToken​(Token t)
        Returns the foreground color to use when painting a token.
        Parameters:
        t - The token.
        Returns:
        The foreground color to use for that token. This value is never null.
        See Also:
        getBackgroundForToken(Token)
      • getForegroundForTokenType

        public Color getForegroundForTokenType​(int type)
        Returns the foreground color to use when painting a token. This does not take into account whether the token is a hyperlink.
        Parameters:
        type - The token type.
        Returns:
        The foreground color to use for that token. This value is never null.
        See Also:
        getForegroundForToken(Token)
      • getHyperlinksEnabled

        public boolean getHyperlinksEnabled()
        Returns whether hyperlinks are enabled for this text area.
        Returns:
        Whether hyperlinks are enabled for this text area.
        See Also:
        setHyperlinksEnabled(boolean)
      • getLastVisibleOffset

        public int getLastVisibleOffset()
        Returns the last visible offset in this text area. This may not be the length of the document if code folding is enabled.
        Returns:
        The last visible offset in this text area.
      • getLineHeight

        public int getLineHeight()
        Returns the height to use for a line of text in this text area.
        Overrides:
        getLineHeight in class RTextAreaBase
        Returns:
        The height of a line of text in this text area.
      • getMarkAllHighlightRanges

        public List<DocumentRange> getMarkAllHighlightRanges()
        Returns a list of "mark all" highlights in the text area. If there are no such highlights, this will be an empty list.
        Returns:
        The list of "mark all" highlight ranges.
      • getMarkedOccurrences

        public List<DocumentRange> getMarkedOccurrences()
        Returns a list of "marked occurrences" in the text area. If there are no marked occurrences, this will be an empty list.
        Returns:
        The list of marked occurrences.
      • getMarkOccurrences

        public boolean getMarkOccurrences()
        Returns whether "Mark Occurrences" is enabled.
        Returns:
        Whether "Mark Occurrences" is enabled.
        See Also:
        setMarkOccurrences(boolean)
      • getMarkOccurrencesColor

        public Color getMarkOccurrencesColor()
        Returns the color used to "mark occurrences."
        Returns:
        The mark occurrences color.
        See Also:
        setMarkOccurrencesColor(Color)
      • getMaxAscent

        public int getMaxAscent()
        Overridden to return the max ascent for any font used in the editor.
        Overrides:
        getMaxAscent in class RTextArea
        Returns:
        The max ascent value.
      • getParserCount

        public int getParserCount()
        Returns the number of parsers operating on this text area.
        Returns:
        The parser count.
        See Also:
        addParser(Parser)
      • getParserDelay

        public int getParserDelay()
        Returns the currently set parser delay. This is the delay that must occur between edits for any registered Parsers to run.
        Returns:
        The currently set parser delay, in milliseconds.
        See Also:
        setParserDelay(int)
      • getParserNotices

        public List<ParserNotice> getParserNotices()
        Returns a list of the current parser notices for this text area. This method (like most Swing methods) should only be called on the EDT.
        Returns:
        The list of notices. This will be an empty list if there are none.
      • getRightHandSideCorrection

        public int getRightHandSideCorrection()
        Workaround for JTextComponents allowing the caret to be rendered entirely off-screen if the entire "previous" character fit entirely.
        Returns:
        The amount of space to add to the x-axis preferred span.
        See Also:
        setRightHandSideCorrection(int)
      • getShouldIndentNextLine

        public boolean getShouldIndentNextLine​(int line)
        If auto-indent is enabled, this method returns whether a new line after this one should be indented (based on the standard indentation rules for the current programming language). For example, in Java, for a line containing:
         for (int i=0; i<10; i++) {
         
        the following line should be indented.
        Parameters:
        line - The line to check.
        Returns:
        Whether a line inserted after this one should be auto-indented. If auto-indentation is disabled, this will always return false.
        See Also:
        isAutoIndentEnabled()
      • getSyntaxScheme

        public SyntaxScheme getSyntaxScheme()
        Returns all of the colors currently being used in syntax highlighting by this text component.
        Returns:
        An instance of SyntaxScheme that represents the colors currently being used for syntax highlighting.
        See Also:
        setSyntaxScheme(SyntaxScheme)
      • getTokenListForLine

        public Token getTokenListForLine​(int line)
        Returns a list of tokens representing the given line.
        Parameters:
        line - The line number to get tokens for.
        Returns:
        A linked list of tokens representing the line's text.
      • getToolTipTextImpl

        protected String getToolTipTextImpl​(MouseEvent e)
        Does the dirty work of getting the tool tip text.
        Parameters:
        e - The mouse event.
        Returns:
        The tool tip text.
      • getUnderlineForToken

        public boolean getUnderlineForToken​(Token t)
        Returns whether the specified token should be underlined. A token is underlined if its syntax style includes underlining, or if it is a hyperlink and hyperlinks are enabled.
        Parameters:
        t - The token.
        Returns:
        Whether the specified token should be underlined.
      • getUseFocusableTips

        public boolean getUseFocusableTips()
        Returns whether "focusable" tool tips are used instead of standard ones. Focusable tool tips are tool tips that the user can click on, resize, copy from, and click links in.
        Returns:
        Whether to use focusable tool tips.
        See Also:
        setUseFocusableTips(boolean), FocusableTip
      • getUseSelectedTextColor

        public boolean getUseSelectedTextColor()
        Returns whether selected text should use the "selected text color" property set via JTextComponent.setSelectedTextColor(Color). This is the typical behavior of text components. By default, RSyntaxTextArea does not do this, so that token styles are visible even in selected regions of text.
        Returns:
        Whether the "selected text" color is used when painting text in selected regions.
        See Also:
        setUseSelectedTextColor(boolean)
      • init

        protected void init()
        Called by constructors to initialize common properties of the text editor.
        Overrides:
        init in class RTextArea
      • isAutoIndentEnabled

        public boolean isAutoIndentEnabled()
        Returns whether or not auto-indent is enabled.
        Returns:
        Whether or not auto-indent is enabled.
        See Also:
        setAutoIndentEnabled(boolean)
      • isBracketMatchingEnabled

        public final boolean isBracketMatchingEnabled()
        Returns whether or not bracket matching is enabled.
        Returns:
        true iff bracket matching is enabled.
        See Also:
        setBracketMatchingEnabled(boolean)
      • isClearWhitespaceLinesEnabled

        public boolean isClearWhitespaceLinesEnabled()
        Returns whether or not lines containing nothing but whitespace are made into blank lines when Enter is pressed in them.
        Returns:
        Whether or not whitespace-only lines are cleared when the user presses Enter on them.
        See Also:
        setClearWhitespaceLinesEnabled(boolean)
      • isCodeFoldingEnabled

        public boolean isCodeFoldingEnabled()
        Returns whether code folding is enabled. Note that only certain languages support code folding; those that do not will ignore this property.
        Returns:
        Whether code folding is enabled.
        See Also:
        setCodeFoldingEnabled(boolean)
      • modelToToken

        public Token modelToToken​(int offs)
        Returns the token at the specified position in the model.
        Parameters:
        offs - The position in the model.
        Returns:
        The token, or null if no token is at that position.
        See Also:
        viewToToken(Point)
      • paintComponent

        protected void paintComponent​(Graphics g)
        The paintComponent method is overridden so we apply any necessary rendering hints to the Graphics object.
        Overrides:
        paintComponent in class RTextAreaBase
        Parameters:
        g - The graphics context with which to paint.
      • removeNotify

        public void removeNotify()
        Overridden so we stop this text area's parsers, if any.
        Overrides:
        removeNotify in class JTextComponent
      • saveTemplates

        public static boolean saveTemplates()
        Attempts to save all currently-known templates to the current template directory, as set by setTemplateDirectory. Templates will be saved as XML files with names equal to their abbreviations; for example, a template that expands on the word "forb" will be saved as forb.xml.
        Returns:
        Whether or not the save was successful. The save will be unsuccessful if the template directory does not exist or if it has not been set (i.e., you have not yet called setTemplateDirectory).
        See Also:
        getTemplatesEnabled(), setTemplateDirectory(java.lang.String), setTemplatesEnabled(boolean)
      • setActiveLineRange

        public void setActiveLineRange​(int min,
                                       int max)
        Sets the "active line range." Note that this RSyntaxTextArea itself does nothing with this information, but if it is contained inside an RTextScrollPane, the active line range may be displayed in the icon area of the Gutter.

        Note that basic users of RSyntaxTextArea will not call this method directly; rather, it is usually called by instances of LanguageSupport in the RSTALangaugeSupport library. See http://fifesoft.com for more information about this library.

        Parameters:
        min - The "minimum" line in the active line range, or -1 if the range is being cleared.
        max - The "maximum" line in the active line range, or -1 if the range is being cleared.
        See Also:
        addActiveLineRangeListener(ActiveLineRangeListener)
      • setAnimateBracketMatching

        public void setAnimateBracketMatching​(boolean animate)
        Sets whether bracket matching should be animated. This fires a property change event of type ANIMATE_BRACKET_MATCHING_PROPERTY.
        Parameters:
        animate - Whether to animate bracket matching.
        See Also:
        getAnimateBracketMatching()
      • setAntiAliasingEnabled

        public void setAntiAliasingEnabled​(boolean enabled)
        Sets whether anti-aliasing is enabled in this editor. This method fires a property change event of type ANTIALIAS_PROPERTY.
        Parameters:
        enabled - Whether anti-aliasing is enabled.
        See Also:
        getAntiAliasingEnabled()
      • setAutoIndentEnabled

        public void setAutoIndentEnabled​(boolean enabled)
        Sets whether or not auto-indent is enabled. This fires a property change event of type AUTO_INDENT_PROPERTY.
        Parameters:
        enabled - Whether or not auto-indent is enabled.
        See Also:
        isAutoIndentEnabled()
      • setBracketMatchingEnabled

        public void setBracketMatchingEnabled​(boolean enabled)
        Sets whether bracket matching is enabled. This fires a property change event of type BRACKET_MATCHING_PROPERTY.
        Parameters:
        enabled - Whether or not bracket matching should be enabled.
        See Also:
        isBracketMatchingEnabled()
      • setClearWhitespaceLinesEnabled

        public void setClearWhitespaceLinesEnabled​(boolean enabled)
        Sets whether or not lines containing nothing but whitespace are made into blank lines when Enter is pressed in them. This method fires a property change event of type CLEAR_WHITESPACE_LINES_PROPERTY.
        Parameters:
        enabled - Whether or not whitespace-only lines are cleared when the user presses Enter on them.
        See Also:
        isClearWhitespaceLinesEnabled()
      • setCloseCurlyBraces

        public void setCloseCurlyBraces​(boolean close)
        Toggles whether curly braces should be automatically closed when a newline is entered after an opening curly brace. Note that this property is only honored for languages that use curly braces to denote code blocks.

        This method fires a property change event of type CLOSE_CURLY_BRACES_PROPERTY.

        Parameters:
        close - Whether curly braces should be automatically closed.
        See Also:
        getCloseCurlyBraces()
      • setCloseMarkupTags

        public void setCloseMarkupTags​(boolean close)
        Sets whether closing markup tags should be automatically completed when "</" is typed. Note that this property is only honored for markup languages, such as HTML, XML and PHP.

        This method fires a property change event of type CLOSE_MARKUP_TAGS_PROPERTY.

        Parameters:
        close - Whether closing markup tags should be automatically completed.
        See Also:
        getCloseMarkupTags()
      • setCodeFoldingEnabled

        public void setCodeFoldingEnabled​(boolean enabled)
        Sets whether code folding is enabled. Note that only certain languages will support code folding out of the box. Those languages which do not support folding will ignore this property.

        This method fires a property change event of type CODE_FOLDING_PROPERTY.

        Parameters:
        enabled - Whether code folding should be enabled.
        See Also:
        isCodeFoldingEnabled()
      • setDocument

        public void setDocument​(Document document)
        Sets the document used by this text area. This is overridden so that only instances of RSyntaxDocument are accepted; for all others, an exception will be thrown.
        Overrides:
        setDocument in class RTextArea
        Parameters:
        document - The new document for this text area.
        Throws:
        IllegalArgumentException - If the document is not an RSyntaxDocument.
      • setFont

        public void setFont​(Font font)
        Sets the font used by this text area. Note that if some token styles are using a different font, they will not be changed by calling this method. To set different fonts on individual token types, use the text area's SyntaxScheme.
        Overrides:
        setFont in class RTextAreaBase
        Parameters:
        font - The font.
        See Also:
        SyntaxScheme.getStyle(int)
      • setFractionalFontMetricsEnabled

        public void setFractionalFontMetricsEnabled​(boolean enabled)
        Sets whether fractional font metrics are enabled. This method fires a property change event of type FRACTIONAL_FONTMETRICS_PROPERTY.
        Parameters:
        enabled - Whether fractional font metrics are enabled.
        See Also:
        getFractionalFontMetricsEnabled()
      • setHyperlinksEnabled

        public void setHyperlinksEnabled​(boolean enabled)
        Sets whether hyperlinks are enabled for this text area. This method fires a property change event of type HYPERLINKS_ENABLED_PROPERTY.
        Parameters:
        enabled - Whether hyperlinks are enabled.
        See Also:
        getHyperlinksEnabled()
      • setLinkGenerator

        public void setLinkGenerator​(LinkGenerator generator)
      • setParserDelay

        public void setParserDelay​(int millis)
        Sets the parser delay. This is the delay that must occur between edits for any registered Parsers to run.
        Parameters:
        millis - The new parser delay, in milliseconds. This must be greater than zero.
        See Also:
        getParserDelay()
      • setRightHandSideCorrection

        public void setRightHandSideCorrection​(int rhsCorrection)
        Applications typically have no need to modify this value.

        Workaround for JTextComponents allowing the caret to be rendered entirely off-screen if the entire "previous" character fit entirely.

        Parameters:
        rhsCorrection - The amount of space to add to the x-axis preferred span. This should be non-negative.
        See Also:
        getRightHandSideCorrection()
      • setSecondaryLanguageBackground

        public void setSecondaryLanguageBackground​(int index,
                                                   Color color)
        Sets the background color to use for a secondary language.
        Parameters:
        index - The language index. Note that these are 1-based, not 0-based, and should be in the range 1-getSecondaryLanguageCount(), inclusive.
        color - The new color, or null for none.
        See Also:
        getSecondaryLanguageBackground(int), getSecondaryLanguageCount()
      • setSyntaxScheme

        public void setSyntaxScheme​(SyntaxScheme scheme)
        Sets all of the colors used in syntax highlighting to the colors specified. This uses a shallow copy of the color scheme so that multiple text areas can share the same color scheme and have their properties changed simultaneously.

        This method fires a property change event of type SYNTAX_SCHEME_PROPERTY.

        Parameters:
        scheme - The instance of SyntaxScheme to use.
        See Also:
        getSyntaxScheme()
      • setTemplateDirectory

        public static boolean setTemplateDirectory​(String dir)
        If templates are enabled, all currently-known templates are forgotten and all templates are loaded from all files in the specified directory ending in "*.xml". If templates aren't enabled, nothing happens.
        Parameters:
        dir - The directory containing files ending in extension .xml that contain templates to load.
        Returns:
        true if the load was successful; false if either templates aren't currently enabled or the load failed somehow (most likely, the directory doesn't exist).
        See Also:
        getTemplatesEnabled(), setTemplatesEnabled(boolean), saveTemplates()
      • setTemplatesEnabled

        public static void setTemplatesEnabled​(boolean enabled)
        Enables or disables templates.

        Templates are a set of "shorthand identifiers" that you can configure so that you only have to type a short identifier (such as "forb") to insert a larger amount of code into the document (such as:

           for (<caret>) {
        
           }
         
        Templates are a shared resource among all instances of RSyntaxTextArea; that is, templates can only be enabled/disabled for all text areas globally, not individually, and all text areas have access of the same templates. This should not be an issue; rather, it should be beneficial as it promotes uniformity among all text areas in an application.

        For more flexible boilerplate code insertion, consider using the TemplateCompletion class in the AutoComplete add-on library.

        Parameters:
        enabled - Whether or not templates should be enabled.
        See Also:
        getTemplatesEnabled()
      • setUseFocusableTips

        public void setUseFocusableTips​(boolean use)
        Sets whether "focusable" tool tips are used instead of standard ones. Focusable tool tips are tool tips that the user can click on, resize, copy from, and clink links in. This method fires a property change event of type FOCUSABLE_TIPS_PROPERTY.
        Parameters:
        use - Whether to use focusable tool tips.
        See Also:
        getUseFocusableTips(), FocusableTip
      • setUseSelectedTextColor

        public void setUseSelectedTextColor​(boolean use)
        Sets whether selected text should use the "selected text color" property (set via JTextComponent.setSelectedTextColor(Color)). This is the typical behavior of text components. By default, RSyntaxTextArea does not do this, so that token styles are visible even in selected regions of text. This method fires a property change event of type USE_SELECTED_TEXT_COLOR_PROPERTY.
        Parameters:
        use - Whether to use the "selected text" color when painting text in selected regions.
        See Also:
        getUseSelectedTextColor()
      • setWhitespaceVisible

        public void setWhitespaceVisible​(boolean visible)
        Sets whether whitespace is visible. This method fires a property change of type VISIBLE_WHITESPACE_PROPERTY.
        Parameters:
        visible - Whether whitespace should be visible.
        See Also:
        isWhitespaceVisible()
      • viewToToken

        public Token viewToToken​(Point p)
        Returns the token at the specified position in the view.
        Parameters:
        p - The position in the view.
        Returns:
        The token, or null if no token is at that position.
        See Also:
        modelToToken(int)