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
`SynthStyle()` Constructs a SynthStyle.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`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