- 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 seeXMLEncoder
.
-
-
Constructor Summary
Constructors Constructor Description MultiLookAndFeel()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ComponentUI
createUIs(ComponentUI mui, Vector<ComponentUI> uis, JComponent target)
Creates theComponentUI
objects required to present thetarget
component, placing the objects in theuis
vector and returning theComponentUI
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()
Returnsfalse
; this look and feel is not native to any platform.boolean
isSupportedLookAndFeel()
Returnstrue
; 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 inherited from class javax.swing.LookAndFeel
getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getLayoutStyle, getSupportsWindowDecorations, initialize, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninitialize, uninstallBorder
-
-
-
-
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()
Returnsfalse
; this look and feel is not native to any platform.- Specified by:
isNativeLookAndFeel
in classLookAndFeel
- Returns:
false
-
isSupportedLookAndFeel
public boolean isSupportedLookAndFeel()
Returnstrue
; 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") toComponentUI
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 theComponentUI
objects required to present thetarget
component, placing the objects in theuis
vector and returning theComponentUI
object that best represents the component's UI. This method finds theComponentUI
objects by invokinggetDefaults().getUI(target)
on each default and auxiliary look and feel currently in use. The first UI object this method adds to theuis
vector is for the default look and feel.This method is invoked by the
createUI
method ofMultiXxxxUI
classes.- Parameters:
mui
- theComponentUI
object that represents the complete UI for thetarget
component; this should be an instance of one of theMultiXxxxUI
classesuis
- aVector
; generally this is theuis
field of themui
argumenttarget
- 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. Ifuis
is null, this method returns an array with zero elements. Ifuis
is an empty vector, this method returnsnull
. A run-time error occurs if any objects in theuis
vector are not of typeComponentUI
.- Parameters:
uis
- a vector containingComponentUI
objects- Returns:
- an array equivalent to the passed-in vector
-
-