Module java.desktop

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
    • 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
      • 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