Class Theme


  • public class Theme
    extends Object
    A theme is a set of fonts and colors to use to style RSyntaxTextArea and RTextScrollPane. Themes are defined in XML files that are validated against org/fife/ui/rsyntaxtextarea/themes/theme.dtd. This provides applications and other consumers with an easy way to style RSyntaxTextArea without having to use the API.

    Sample themes are included in the source tree in the org.fife.ui.rsyntaxtextarea.themes package, and can be loaded via getClass().getResourceAsStream(...).

    All fields are public to facilitate programmatic manipulation, but typically you won't need to reference any fields directly, rather using the load(), save(), and apply() methods for various tasks.

    Note that to save a Theme via save(OutputStream), you must currently create a Theme from a text area wrapped in an RTextScrollPane, so that the color information for the gutter can be retrieved.

    Version:
    1.0
    Author:
    Robert Futrell
    • Field Detail

      • baseFont

        public Font baseFont
      • bgColor

        public Color bgColor
      • caretColor

        public Color caretColor
      • useSelctionFG

        public boolean useSelctionFG
      • selectionFG

        public Color selectionFG
      • selectionBG

        public Color selectionBG
      • selectionRoundedEdges

        public boolean selectionRoundedEdges
      • currentLineHighlight

        public Color currentLineHighlight
      • fadeCurrentLineHighlight

        public boolean fadeCurrentLineHighlight
      • marginLineColor

        public Color marginLineColor
      • markAllHighlightColor

        public Color markAllHighlightColor
      • markOccurrencesColor

        public Color markOccurrencesColor
      • markOccurrencesBorder

        public boolean markOccurrencesBorder
      • matchedBracketFG

        public Color matchedBracketFG
      • matchedBracketBG

        public Color matchedBracketBG
      • matchedBracketHighlightBoth

        public boolean matchedBracketHighlightBoth
      • matchedBracketAnimate

        public boolean matchedBracketAnimate
      • hyperlinkFG

        public Color hyperlinkFG
      • secondaryLanguages

        public Color[] secondaryLanguages
      • gutterBackgroundColor

        public Color gutterBackgroundColor
      • gutterBorderColor

        public Color gutterBorderColor
      • activeLineRangeColor

        public Color activeLineRangeColor
      • iconRowHeaderInheritsGutterBG

        public boolean iconRowHeaderInheritsGutterBG
      • lineNumberColor

        public Color lineNumberColor
      • lineNumberFont

        public String lineNumberFont
      • lineNumberFontSize

        public int lineNumberFontSize
      • foldIndicatorFG

        public Color foldIndicatorFG
      • foldBG

        public Color foldBG
      • armedFoldBG

        public Color armedFoldBG
    • Constructor Detail

      • Theme

        public Theme​(RSyntaxTextArea textArea)
        Creates a theme from an RSyntaxTextArea. It should be contained in an RTextScrollPane to get all gutter color information.
        Parameters:
        textArea - The text area.
    • Method Detail

      • apply

        public void apply​(RSyntaxTextArea textArea)
        Applies this theme to a text area.
        Parameters:
        textArea - The text area to apply this theme to.
      • load

        public static Theme load​(InputStream in,
                                 Font baseFont)
                          throws IOException
        Loads a theme.
        Parameters:
        in - The input stream to read from. This will be closed when this method returns.
        baseFont - The default font to use for any "base font" properties not specified in the theme XML. If this is null, a default monospaced font will be used.
        Returns:
        The theme.
        Throws:
        IOException - If an IO error occurs.
        See Also:
        save(OutputStream)