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 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(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