Module java.desktop

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.

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

    • MultiLookAndFeel

      public MultiLookAndFeel()
  • Method Details

    • 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