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

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

Constructors

Constructor Description
MultiLookAndFeel()

Methods

Modifier and Type Method Description
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.

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<? extends ComponentUI> uis)

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

Methods declared in class javax.swing.LookAndFeel

getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getLayoutStyle, getSupportsWindowDecorations, initialize, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninitialize, uninstallBorder

Methods declared in class java.lang.Object

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

Constructors

MultiLookAndFeel

public MultiLookAndFeel()

Methods

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<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 - 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<? 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 - a vector containing ComponentUI objects
Returns:
an array equivalent to the passed-in vector

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/plaf/multi/MultiLookAndFeel.html