Class MultiLookAndFeel
- java.lang.Object
-
- javax.swing.LookAndFeel
-
- 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 JavaBeans™ has been added to the java.beans
package. Please see XMLEncoder
.
Constructor Summary
Constructor | Description |
---|---|
MultiLookAndFeel() |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
static ComponentUI | createUIs(ComponentUI mui,
Vector<ComponentUI> uis,
JComponent target) | Creates the |
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 |
boolean | isSupportedLookAndFeel() | Returns |
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
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 classLookAndFeel
- 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 classLookAndFeel
- Returns:
- "Multiplex"
getDescription
public String getDescription()
Returns a one-line description of this look and feel.
- Specified by:
-
getDescription
in classLookAndFeel
- 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 classLookAndFeel
- Returns:
false
isSupportedLookAndFeel
public boolean isSupportedLookAndFeel()
Returns true
; every platform permits this look and feel.
- Specified by:
-
isSupportedLookAndFeel
in classLookAndFeel
- 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 classLookAndFeel
- 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
- theComponentUI
object that represents the complete UI for thetarget
component; this should be an instance of one of theMultiXxxxUI
classes -
uis
- aVector
; generally this is theuis
field of themui
argument -
target
- a component whose UI is represented bymui
- Returns:
-
mui
if the component has any auxiliary UI objects; otherwise, returns the UI object for the default look and feel ornull
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 containingComponentUI
objects - Returns:
- an array equivalent to the passed-in vector