org.fife.ui.rsyntaxtextarea

## Class Theme

- java.lang.Object
- - org.fife.ui.rsyntaxtextarea.Theme

    public class Theme
    extends Object

A theme is a set of fonts and colors to use to style RSyntaxTextArea. Themes are defined in XML files that are validated against `themes.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 under the `/themes` folder, but are not a part of the built RSyntaxTextArea jar. Hosting applications are free to ship and use these themes as-is, modify them, or create their own.

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

### Constructor Summary

Constructors
Constructor and Description
`Theme(RSyntaxTextArea textArea)` Creates a theme from an RSyntaxTextArea.

### Method Summary

Methods
`void` `apply(RSyntaxTextArea textArea)` Applies this theme to a text area.
`static Theme` `load(InputStream in)` Loads a theme.
`static Theme` `load(InputStream in, Font baseFont)` Loads a theme.
`void` `save(OutputStream out)` Saves this theme to an output stream.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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)
                      throws IOException

Loads a theme.

Parameters:
  `in` - The input stream to read from. This will be closed when this method returns.
Returns:
  The theme.
Throws:
  `IOException` - If an IO error occurs.
See Also:
  `save(OutputStream)`

#### 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)`

#### save

    public void save(OutputStream out)
              throws IOException

Saves this theme to an output stream.

Parameters:
  `out` - The output stream to write to.
Throws:
  `IOException` - If an IO error occurs.
See Also:
  `load(InputStream)`