Top Description Constructors Methods
javax.swing.plaf.multi

public Class MultiLookAndFeel

Additional top-level class in compilation unit: MultiUIDefaults.

extends LookAndFeel
Class Inheritance
Annotations
@SuppressWarnings:serial
Imports
java.util.Vector, java.lang.reflect.Method, javax.swing.*, javax.swing.plaf.*

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 JavaBeans has been added to the java.beans package. Please see java.beans.XMLEncoder.

Author
Willie Walker
See Also
UIManager#addAuxiliaryLookAndFeel, javax.swing.plaf.multi

Constructor Summary

AccessConstructor and Description
public
MultiLookAndFeel()

Constructs a MultiLookAndFeel.

Method Summary

Modifier and TypeMethod and Description
public static ComponentUI

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
createUIs
(ComponentUI
the ComponentUI object that represents the complete UI for the target component; this should be an instance of one of the MultiXxxxUI classes
mui
,
Vector<ComponentUI>
a Vector; generally this is the uis field of the mui argument
uis
,
JComponent
a component whose UI is represented by mui
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.

public UIDefaults

Returns:

an initialized UIDefaults object
getDefaults
()

Overrides javax.swing.LookAndFeel.getDefaults.

Creates, initializes, and returns the look and feel specific defaults.
public String

Returns:

a descriptive string such as "Allows multiple UI instances per component instance"
getDescription
()

Implements abstract javax.swing.LookAndFeel.getDescription.

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

Returns:

"Multiplex"
getID
()

Implements abstract javax.swing.LookAndFeel.getID.

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

Returns:

a string such as "Multiplexing Look and Feel"
getName
()

Implements abstract javax.swing.LookAndFeel.getName.

Returns a string, suitable for use in menus, that identifies this look and feel.
public boolean

Returns:

false
isNativeLookAndFeel
()

Implements abstract javax.swing.LookAndFeel.isNativeLookAndFeel.

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

Returns:

true
isSupportedLookAndFeel
()

Implements abstract javax.swing.LookAndFeel.isSupportedLookAndFeel.

Returns true; every platform permits this look and feel.
protected static ComponentUI[]

Returns:

an array equivalent to the passed-in vector
uisToArray
(Vector<? extends ComponentUI>
a vector containing ComponentUI objects
uis
)

Creates an array, populates it with UI objects from the passed-in vector, and returns the array.

Inherited from javax.swing.LookAndFeel:
getDesktopPropertyValuegetDisabledIcongetDisabledSelectedIcongetLayoutStylegetSupportsWindowDecorationsinitializeinstallBorderinstallColorsinstallColorsAndFontinstallPropertyloadKeyBindingsmakeComponentInputMapmakeIconmakeInputMapmakeKeyBindingsprovideErrorFeedbacktoStringuninitializeuninstallBorder

Constructor Detail

MultiLookAndFeelback to summary
public MultiLookAndFeel()

Constructs a MultiLookAndFeel.

Method Detail

createUIsback to summary
public static ComponentUI createUIs(ComponentUI mui, Vector<ComponentUI> 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:ComponentUI

the ComponentUI object that represents the complete UI for the target component; this should be an instance of one of the MultiXxxxUI classes

uis:Vector<ComponentUI>

a Vector; generally this is the uis field of the mui argument

target:JComponent

a component whose UI is represented by mui

Returns:ComponentUI

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
javax.swing.UIManager#getAuxiliaryLookAndFeels, javax.swing.UIDefaults#getUI, MultiButtonUI#uis, MultiButtonUI#createUI
getDefaultsback to summary
public UIDefaults getDefaults()

Overrides javax.swing.LookAndFeel.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").

Returns:UIDefaults

an initialized UIDefaults object

See Also
javax.swing.JComponent#getUIClassID
getDescriptionback to summary
public String getDescription()

Implements abstract javax.swing.LookAndFeel.getDescription.

Returns a one-line description of this look and feel.

Returns:String

a descriptive string such as "Allows multiple UI instances per component instance"

getIDback to summary
public String getID()

Implements abstract javax.swing.LookAndFeel.getID.

Returns a string, suitable for use by applications/services, that identifies this look and feel.

Returns:String

"Multiplex"

getNameback to summary
public String getName()

Implements abstract javax.swing.LookAndFeel.getName.

Returns a string, suitable for use in menus, that identifies this look and feel.

Returns:String

a string such as "Multiplexing Look and Feel"

isNativeLookAndFeelback to summary
public boolean isNativeLookAndFeel()

Implements abstract javax.swing.LookAndFeel.isNativeLookAndFeel.

Returns false; this look and feel is not native to any platform.

Returns:boolean

false

isSupportedLookAndFeelback to summary
public boolean isSupportedLookAndFeel()

Implements abstract javax.swing.LookAndFeel.isSupportedLookAndFeel.

Returns true; every platform permits this look and feel.

Returns:boolean

true

uisToArrayback to summary
protected static ComponentUI[] uisToArray(Vector<? extends ComponentUI> 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:Vector<? extends ComponentUI>

a vector containing ComponentUI objects

Returns:ComponentUI[]

an array equivalent to the passed-in vector