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

# Class SynthStyleFactory

java.lang.Object
javax.swing.plaf.synth.SynthStyleFactory

public abstract class SynthStyleFactory extends Object
Factory used for obtaining `SynthStyle`s. Each of the Synth `ComponentUI`s will call into the current `SynthStyleFactory` to obtain a `SynthStyle` for each of the distinct regions they have.

The following example creates a custom `SynthStyleFactory` that returns a different style based on the `Region`:

    class MyStyleFactory extends SynthStyleFactory {
        public SynthStyle getStyle(JComponent c, Region id) {
            if (id == Region.BUTTON) {
                return buttonStyle;
            }
            else if (id == Region.TREE) {
                return treeStyle;
            }
            return defaultStyle;
        }
    }
    SynthLookAndFeel laf = new SynthLookAndFeel();
    UIManager.setLookAndFeel(laf);
    SynthLookAndFeel.setStyleFactory(new MyStyleFactory());

Since:
  1.5
See Also:
  - `SynthLookAndFeel`
  - `SynthStyle`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SynthStyleFactory()`
  Creates a `SynthStyleFactory`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract SynthStyle`
  `getStyle(JComponent c, Region id)`
  Returns the style for the specified Component.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### SynthStyleFactory

    public SynthStyleFactory()
    Creates a `SynthStyleFactory`.

- ## Method Details

  - ### getStyle

    public abstract SynthStyle getStyle(JComponent c, Region id)
    Returns the style for the specified Component.
    Parameters:
      `c` - Component asking for
      `id` - Region identifier
    Returns:
      SynthStyle for region.