Module java.desktop
Package javax.swing.plaf.synth

## Class SynthStyle

- java.lang.Object
- - javax.swing.plaf.synth.SynthStyle

- Direct Known Subclasses:
    `NimbusStyle`

      public abstract class SynthStyle
      extends Object

  `SynthStyle` is a set of style properties. Each `SynthUI` references at least one `SynthStyle` that is obtained using a `SynthStyleFactory`. You typically don't need to interact with this class directly, rather you will load a Synth File Format file into `SynthLookAndFeel` that will create a set of SynthStyles.
  Since:
    1.5
  See Also:
    `SynthLookAndFeel`, `SynthStyleFactory`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SynthStyle()` | Constructs a SynthStyle.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `get​(SynthContext context, Object key)` | Getter for a region specific style property.
    `boolean` | `getBoolean​(SynthContext context, Object key, boolean defaultValue)` | Convenience method to get a specific style property whose value is an Boolean.
    `Color` | `getColor​(SynthContext context, ColorType type)` | Returns the color for the specified state.
    `protected abstract Color` | `getColorForState​(SynthContext context, ColorType type)` | Returns the color for the specified state.
    `Font` | `getFont​(SynthContext context)` | Returns the Font for the specified state.
    `protected abstract Font` | `getFontForState​(SynthContext context)` | Returns the font for the specified state.
    `SynthGraphicsUtils` | `getGraphicsUtils​(SynthContext context)` | Returns the `SynthGraphicUtils` for the specified context.
    `Icon` | `getIcon​(SynthContext context, Object key)` | Convenience method to get a specific style property whose value is an Icon.
    `Insets` | `getInsets​(SynthContext context, Insets insets)` | Returns the Insets that are used to calculate sizing information.
    `int` | `getInt​(SynthContext context, Object key, int defaultValue)` | Convenience method to get a specific style property whose value is a `Number`.
    `SynthPainter` | `getPainter​(SynthContext context)` | Returns the `SynthPainter` that will be used for painting.
    `String` | `getString​(SynthContext context, Object key, String defaultValue)` | Convenience method to get a specific style property whose value is a String.
    `void` | `installDefaults​(SynthContext context)` | Installs the necessary state from this Style on the `JComponent` from `context`.
    `boolean` | `isOpaque​(SynthContext context)` | Returns true if the region is opaque.
    `void` | `uninstallDefaults​(SynthContext context)` | Uninstalls any state that this style installed on the `JComponent` from `context`.

    - ### Methods declared in class java.lang.Object

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

- - ### Constructor Detail

    - #### SynthStyle

          public SynthStyle()

      Constructs a SynthStyle.

  - ### Method Detail

    - #### getGraphicsUtils

          public SynthGraphicsUtils getGraphicsUtils​(SynthContext context)

      Returns the `SynthGraphicUtils` for the specified context.
      Parameters:
        `context` - SynthContext identifying requester
      Returns:
        SynthGraphicsUtils

    - #### getColor

          public Color getColor​(SynthContext context,
                                ColorType type)

      Returns the color for the specified state. This gives precedence to foreground and background of the `JComponent`. If the `Color` from the `JComponent` is not appropriate, or not used, this will invoke `getColorForState`. Subclasses should generally not have to override this, instead override `getColorForState(javax.swing.plaf.synth.SynthContext, javax.swing.plaf.synth.ColorType)`.
      Parameters:
        `context` - SynthContext identifying requester
        `type` - Type of color being requested.
      Returns:
        Color

    - #### getColorForState

          protected abstract Color getColorForState​(SynthContext context,
                                                    ColorType type)

      Returns the color for the specified state. This should NOT call any methods on the `JComponent`.
      Parameters:
        `context` - SynthContext identifying requester
        `type` - Type of color being requested.
      Returns:
        Color to render with

    - #### getFont

          public Font getFont​(SynthContext context)

      Returns the Font for the specified state. This redirects to the `JComponent` from the `context` as necessary. If this does not redirect to the JComponent `getFontForState(javax.swing.plaf.synth.SynthContext)` is invoked.
      Parameters:
        `context` - SynthContext identifying requester
      Returns:
        Font to render with

    - #### getFontForState

          protected abstract Font getFontForState​(SynthContext context)

      Returns the font for the specified state. This should NOT call any method on the `JComponent`.
      Parameters:
        `context` - SynthContext identifying requester
      Returns:
        Font to render with

    - #### getInsets

          public Insets getInsets​(SynthContext context,
                                  Insets insets)

      Returns the Insets that are used to calculate sizing information.
      Parameters:
        `context` - SynthContext identifying requester
        `insets` - Insets to place return value in.
      Returns:
        Sizing Insets.

    - #### getPainter

          public SynthPainter getPainter​(SynthContext context)

      Returns the `SynthPainter` that will be used for painting. This may return null.
      Parameters:
        `context` - SynthContext identifying requester
      Returns:
        SynthPainter to use

    - #### isOpaque

          public boolean isOpaque​(SynthContext context)

      Returns true if the region is opaque.
      Parameters:
        `context` - SynthContext identifying requester
      Returns:
        true if region is opaque.

    - #### get

          public Object get​(SynthContext context,
                            Object key)

      Getter for a region specific style property.
      Parameters:
        `context` - SynthContext identifying requester
        `key` - Property being requested.
      Returns:
        Value of the named property

    - #### installDefaults

          public void installDefaults​(SynthContext context)

      Installs the necessary state from this Style on the `JComponent` from `context`.
      Parameters:
        `context` - SynthContext identifying component to install properties to.

    - #### uninstallDefaults

          public void uninstallDefaults​(SynthContext context)

      Uninstalls any state that this style installed on the `JComponent` from `context`.

      Styles should NOT depend upon this being called, in certain cases it may never be called.

      Parameters:
        `context` - SynthContext identifying component to install properties to.

    - #### getInt

          public int getInt​(SynthContext context,
                            Object key,
                            int defaultValue)

      Convenience method to get a specific style property whose value is a `Number`. If the value is a `Number`, `intValue` is returned, otherwise `defaultValue` is returned.
      Parameters:
        `context` - SynthContext identifying requester
        `key` - Property being requested.
        `defaultValue` - Value to return if the property has not been specified, or is not a Number
      Returns:
        Value of the named property

    - #### getBoolean

          public boolean getBoolean​(SynthContext context,
                                    Object key,
                                    boolean defaultValue)

      Convenience method to get a specific style property whose value is an Boolean.
      Parameters:
        `context` - SynthContext identifying requester
        `key` - Property being requested.
        `defaultValue` - Value to return if the property has not been specified, or is not a Boolean
      Returns:
        Value of the named property

    - #### getIcon

          public Icon getIcon​(SynthContext context,
                              Object key)

      Convenience method to get a specific style property whose value is an Icon.
      Parameters:
        `context` - SynthContext identifying requester
        `key` - Property being requested.
      Returns:
        Value of the named property, or null if not specified

    - #### getString

          public String getString​(SynthContext context,
                                  Object key,
                                  String defaultValue)

      Convenience method to get a specific style property whose value is a String.
      Parameters:
        `context` - SynthContext identifying requester
        `key` - Property being requested.
        `defaultValue` - Value to return if the property has not been specified, or is not a String
      Returns:
        Value of the named property