SynthStyleFactory (Java SE 25 & JDK 25)
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`

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