# 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 Object

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

- ## Constructor Details

  - ### SynthStyle

    public SynthStyle()
    Constructs a SynthStyle.

- ## Method Details

  - ### 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(SynthContext, 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(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