JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.plaf.multi
Class MultiLookAndFeel

java.lang.Object
  extended by javax.swing.LookAndFeel
      extended by javax.swing.plaf.multi.MultiLookAndFeel

public class MultiLookAndFeel
extends LookAndFeel

A multiplexing look and feel that allows more than one UI to be associated with a component at the same time. The primary look and feel is called the default look and feel, and the other look and feels are called auxiliary.

For further information, see Using the Multiplexing Look and Feel.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

See Also:
UIManager.addAuxiliaryLookAndFeel(javax.swing.LookAndFeel), javax.swing.plaf.multi

Constructor Summary
MultiLookAndFeel()
           
 
Method Summary
static ComponentUI createUIs(ComponentUI mui, Vector uis, JComponent target)
          Creates the ComponentUI objects required to present the target component, placing the objects in the uis vector and returning the ComponentUI object that best represents the component's UI.
 UIDefaults getDefaults()
          Creates, initializes, and returns the look and feel specific defaults.
 String getDescription()
          Returns a one-line description of this look and feel.
 String getID()
          Returns a string, suitable for use by applications/services, that identifies this look and feel.
 String getName()
          Returns a string, suitable for use in menus, that identifies this look and feel.
 boolean isNativeLookAndFeel()
          Returns false; this look and feel is not native to any platform.
 boolean isSupportedLookAndFeel()
          Returns true; every platform permits this look and feel.
protected static ComponentUI[] uisToArray(Vector uis)
          Creates an array, populates it with UI objects from the passed-in vector, and returns the array.
 
Methods inherited from class javax.swing.LookAndFeel
getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getSupportsWindowDecorations, initialize, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninitialize, uninstallBorder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MultiLookAndFeel

public MultiLookAndFeel()
Method Detail

getName

public String getName()
Returns a string, suitable for use in menus, that identifies this look and feel.

Specified by:
getName in class LookAndFeel
Returns:
a string such as "Multiplexing Look and Feel"

getID

public String getID()
Returns a string, suitable for use by applications/services, that identifies this look and feel.

Specified by:
getID in class LookAndFeel
Returns:
"Multiplex"

getDescription

public String getDescription()
Returns a one-line description of this look and feel.

Specified by:
getDescription in class LookAndFeel
Returns:
a descriptive string such as "Allows multiple UI instances per component instance"

isNativeLookAndFeel

public boolean isNativeLookAndFeel()
Returns false; this look and feel is not native to any platform.

Specified by:
isNativeLookAndFeel in class LookAndFeel
Returns:
false

isSupportedLookAndFeel

public boolean isSupportedLookAndFeel()
Returns true; every platform permits this look and feel.

Specified by:
isSupportedLookAndFeel in class LookAndFeel
Returns:
true
See Also:
UIManager.setLookAndFeel(javax.swing.LookAndFeel)

getDefaults

public UIDefaults getDefaults()
Creates, initializes, and returns the look and feel specific defaults. For this look and feel, the defaults consist solely of mappings of UI class IDs (such as "ButtonUI") to ComponentUI class names (such as "javax.swing.plaf.multi.MultiButtonUI").

Overrides:
getDefaults in class LookAndFeel
Returns:
an initialized UIDefaults object
See Also:
JComponent.getUIClassID()

createUIs

public static ComponentUI createUIs(ComponentUI mui,
                                    Vector uis,
                                    JComponent target)
Creates the ComponentUI objects required to present the target component, placing the objects in the uis vector and returning the ComponentUI object that best represents the component's UI. This method finds the ComponentUI objects by invoking getDefaults().getUI(target) on each default and auxiliary look and feel currently in use. The first UI object this method adds to the uis vector is for the default look and feel.

This method is invoked by the createUI method of MultiXxxxUI classes.

Parameters:
mui - the ComponentUI object that represents the complete UI for the target component; this should be an instance of one of the MultiXxxxUI classes
uis - a Vector; generally this is the uis field of the mui argument
target - a component whose UI is represented by mui
Returns:
mui if the component has any auxiliary UI objects; otherwise, returns the UI object for the default look and feel or null if the default UI object couldn't be found
See Also:
UIManager.getAuxiliaryLookAndFeels(), UIDefaults.getUI(javax.swing.JComponent), MultiButtonUI.uis, MultiButtonUI.createUI(javax.swing.JComponent)

uisToArray

protected static ComponentUI[] uisToArray(Vector uis)
Creates an array, populates it with UI objects from the passed-in vector, and returns the array. If uis is null, this method returns an array with zero elements. If uis is an empty vector, this method returns null. A run-time error occurs if any objects in the uis vector are not of type ComponentUI.

Parameters:
uis - a vector containing ComponentUI objects
Returns:
an array equivalent to the passed-in vector

JavaTM 2 Platform
Standard Ed. 5.0

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.