javax.swing.plaf.synth
Class SynthLookAndFeel

java.lang.Object
  extended by javax.swing.LookAndFeel
      extended by javax.swing.plaf.basic.BasicLookAndFeel
          extended by javax.swing.plaf.synth.SynthLookAndFeel
All Implemented Interfaces:
Serializable

public class SynthLookAndFeel
extends BasicLookAndFeel

A look and feel that can be customized either by providing a file to load(java.io.InputStream, java.lang.Class) or by setting a SynthStyleFactory using setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory).

Since:
1.5
See Also:
Serialized Form

Constructor Summary
SynthLookAndFeel()
          Creates a new instance of SynthLookAndFeel.
 
Method Summary
static ComponentUI createUI(JComponent c)
          Creates the Synth look and feel component UI instance for the given component.
 UIDefaults getDefaults()
          Returns the UI defaults of this look and feel.
 String getDescription()
          Returns a textual description of the Synth look and feel.
 String getID()
          Returns the ID of the Synth look and feel.
 String getName()
          Returns the name of the Synth look and feel.
static Region getRegion(JComponent c)
          Returns the region for a given Swing component.
static SynthStyle getStyle(JComponent c, Region r)
          Returns the style for the specified component and region.
static SynthStyleFactory getStyleFactory()
          Returns the current style factory that the UI classes of Synth will use to load their sets of styles.
 void initialize()
          Initializes this look and feel.
 boolean isNativeLookAndFeel()
          Returns false since the Synth look and feel is not a native look and feel.
 boolean isSupportedLookAndFeel()
          Returns true since the Synth look and feel is always a supported look and feel.
 void load(InputStream in, Class<?> resourceBase)
          Loads a set of SynthStyles that are used for the look and feel of the components.
static void setStyleFactory(SynthStyleFactory sf)
          Sets the style factory that the UI classes of Synth will use to load their sets of styles.
 boolean shouldUpdateStyleOnAncestorChanged()
          FIXME: DOCUMENT ME!
 void uninitialize()
          Uninitializes the look and feel.
static void updateStyles(Component c)
          Updates all style information of the component and it's children.
 
Methods inherited from class javax.swing.plaf.basic.BasicLookAndFeel
createAudioAction, getAudioActionMap, initClassDefaults, initComponentDefaults, initSystemColorDefaults, loadSystemColors, playSound
 
Methods inherited from class javax.swing.LookAndFeel
getDesktopPropertyValue, getSupportsWindowDecorations, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninstallBorder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SynthLookAndFeel

public SynthLookAndFeel()
Creates a new instance of SynthLookAndFeel. In order to use the Synth look and feel you either need to call load(java.io.InputStream, java.lang.Class) to load a set of styles from an XML file, or you need to call setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory) to provide your own style factory.

Method Detail

setStyleFactory

public static void setStyleFactory(SynthStyleFactory sf)
Sets the style factory that the UI classes of Synth will use to load their sets of styles.

Parameters:
sf - the style factory to set

getStyleFactory

public static SynthStyleFactory getStyleFactory()
Returns the current style factory that the UI classes of Synth will use to load their sets of styles.

Returns:
the current style factory

getStyle

public static SynthStyle getStyle(JComponent c,
                                  Region r)
Returns the style for the specified component and region.

Parameters:
c - the component for which to return the style
r - the region of the component for which to return the style
Returns:
the style for the specified component and region

updateStyles

public static void updateStyles(Component c)
                         throws NotImplementedException
Updates all style information of the component and it's children.

Parameters:
c - the componenent for which to update the style
Throws:
NotImplementedException

getRegion

public static Region getRegion(JComponent c)
                        throws NotImplementedException
Returns the region for a given Swing component.

Parameters:
c - the Swing component for which to fetch the region
Returns:
the region for a given Swing component
Throws:
NotImplementedException

createUI

public static ComponentUI createUI(JComponent c)
                            throws NotImplementedException
Creates the Synth look and feel component UI instance for the given component.

Parameters:
c - the component for which to create a UI instance
Returns:
the Synth look and feel component UI instance for the given component
Throws:
NotImplementedException

initialize

public void initialize()
                throws NotImplementedException
Initializes this look and feel.

Overrides:
initialize in class BasicLookAndFeel
Throws:
NotImplementedException

uninitialize

public void uninitialize()
                  throws NotImplementedException
Uninitializes the look and feel.

Overrides:
uninitialize in class BasicLookAndFeel
Throws:
NotImplementedException

getDefaults

public UIDefaults getDefaults()
                       throws NotImplementedException
Returns the UI defaults of this look and feel.

Overrides:
getDefaults in class BasicLookAndFeel
Returns:
the UI defaults of this look and feel
Throws:
NotImplementedException

shouldUpdateStyleOnAncestorChanged

public boolean shouldUpdateStyleOnAncestorChanged()
                                           throws NotImplementedException
FIXME: DOCUMENT ME!

Returns:
FIXME
Throws:
NotImplementedException

load

public void load(InputStream in,
                 Class<?> resourceBase)
          throws ParseException,
                 IllegalArgumentException,
                 NotImplementedException
Loads a set of SynthStyles that are used for the look and feel of the components. The resourceBase parameter is used to resolve references against, like icons and other files.

Parameters:
in - the input stream from where to load the styles
resourceBase - the base against which references are resolved.
Throws:
ParseException - if the input stream cannot be parsed
IllegalArgumentException - if one of the parameters is null
NotImplementedException

getDescription

public String getDescription()
Returns a textual description of the Synth look and feel. This returns "Synth look and feel".

Specified by:
getDescription in class LookAndFeel
Returns:
a textual description of the Synth look and feel

getID

public String getID()
Returns the ID of the Synth look and feel. This returns "Synth".

Specified by:
getID in class LookAndFeel
Returns:
the ID of the Synth look and feel

getName

public String getName()
Returns the name of the Synth look and feel. This returns "Synth look and feel".

Specified by:
getName in class LookAndFeel
Returns:
the name of the Synth look and feel

isNativeLookAndFeel

public boolean isNativeLookAndFeel()
Returns false since the Synth look and feel is not a native look and feel.

Specified by:
isNativeLookAndFeel in class LookAndFeel
Returns:
false

isSupportedLookAndFeel

public boolean isSupportedLookAndFeel()
Returns true since the Synth look and feel is always a supported look and feel.

Specified by:
isSupportedLookAndFeel in class LookAndFeel
Returns:
true