SynthStyle (Java SE 13 & JDK 13 )
Description: declaration: module: java.desktop, package: javax.swing.plaf.synth, class: SynthStyle
Keywords: javax.swing.plaf.synth.SynthStyle class

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