javax.swing.plaf.synth

## 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:
    `SynthStyleFactory`, `SynthStyle`

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract SynthStyle` | `getStyle(JComponent c, Region id)` | Returns the style for the specified Component.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SynthStyleFactory

          public SynthStyleFactory()

      Creates a `SynthStyleFactory`.

  - ### Method Detail

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.