| 
 | Java™ Platform Standard Ed. 6 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.swing.LookAndFeel
javax.swing.plaf.basic.BasicLookAndFeel
public abstract class BasicLookAndFeel
A base class to use in creating a look and feel for Swing.
 Each of the ComponentUIs provided by BasicLookAndFeel derives its behavior from the defaults
 table. Unless otherwise noted each of the ComponentUI
 implementations in this package document the set of defaults they
 use. Unless otherwise noted the defaults are installed at the time
 installUI is invoked, and follow the recommendations
 outlined in LookAndFeel for installing defaults.
 
 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 JavaBeansTM
 has been added to the java.beans package.
 Please see XMLEncoder.
| Constructor Summary | |
|---|---|
| BasicLookAndFeel() | |
| Method Summary | |
|---|---|
| protected  Action | createAudioAction(Object key)Creates and returns an Actionused to play a sound. | 
| protected  ActionMap | getAudioActionMap()Returns an ActionMapcontaining the audio actions
 for this look and feel. | 
|  UIDefaults | getDefaults()Returns the look and feel defaults. | 
| protected  void | initClassDefaults(UIDefaults table)Populates tablewith mappings fromuiClassIDto the
 fully qualified name of the ui class. | 
| protected  void | initComponentDefaults(UIDefaults table)Populates tablewith the defaults for the basic look and
 feel. | 
|  void | initialize()Initializes the look and feel. | 
| protected  void | initSystemColorDefaults(UIDefaults table)Populates tablewith system colors. | 
| protected  void | loadSystemColors(UIDefaults table,
                 String[] systemColors,
                 boolean useNative)Populates tablewith thename-colorpairs insystemColors. | 
| protected  void | playSound(Action audioAction)If necessary, invokes actionPerformedonaudioActionto play a sound. | 
|  void | uninitialize()Uninitializes the look and feel. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Constructor Detail | 
|---|
public BasicLookAndFeel()
| Method Detail | 
|---|
public UIDefaults getDefaults()
UIDefaults
 is populated by invoking, in order, initClassDefaults, 
 initSystemColorDefaults and initComponentDefaults.
 
 While this method is public, it should only be invoked by the
 UIManager when the look and feel is set as the current
 look and feel and after initialize has been invoked.
getDefaults in class LookAndFeelinitClassDefaults(javax.swing.UIDefaults), 
initSystemColorDefaults(javax.swing.UIDefaults), 
initComponentDefaults(javax.swing.UIDefaults)public void initialize()
UIManager when a
 look and feel is installed as the current look and feel. This
 method is invoked before the UIManager invokes
 getDefaults. This method is intended to perform any
 initialization for the look and feel. Subclasses
 should do any one-time setup they need here, rather than 
 in a static initializer, because look and feel class objects
 may be loaded just to discover that isSupportedLookAndFeel()
 returns false.
initialize in class LookAndFeelLookAndFeel.uninitialize(), 
UIManager.setLookAndFeel(javax.swing.LookAndFeel)public void uninitialize()
UIManager when
 the look and feel is uninstalled. For example,
 UIManager.setLookAndFeel invokes this when the look and
 feel is changed.
 Subclasses may choose to free up some resources here.
uninitialize in class LookAndFeelLookAndFeel.initialize(), 
UIManager.setLookAndFeel(javax.swing.LookAndFeel)protected void initClassDefaults(UIDefaults table)
table with mappings from uiClassID to the
 fully qualified name of the ui class. The value for a
 particular uiClassID is "javax.swing.plaf.basic.Basic + uiClassID". For example, the
 value for the uiClassID TreeUI is "javax.swing.plaf.basic.BasicTreeUI".
table - the UIDefaults instance the entries are
        added to
NullPointerException - if table is nullLookAndFeel, 
getDefaults()protected void initSystemColorDefaults(UIDefaults table)
table with system colors. This creates an
 array of name-color pairs and invokes loadSystemColors. 
 
 The name is a String that corresponds to the name of
 one of the static SystemColor fields in the SystemColor class.  A name-color pair is created for every
 such SystemColor field.
 
 The color corresponds to a hex String as
 understood by Color.decode. For example, one of the
 name-color pairs is "desktop"-"#005C5C". This corresponds to the SystemColor field desktop, with a color value of
 new Color(0x005C5C).
 
 The following shows two of the name-color pairs:
 
   String[] nameColorPairs = new String[] {
          "desktop", "#005C5C",
    "activeCaption", "#000080" };
   loadSystemColors(table, nameColorPairs, isNativeLookAndFeel());
 
 As previously stated, this invokes loadSystemColors
 with the supplied table and name-color pair
 array. The last argument to loadSystemColors indicates
 whether the value of the field in SystemColor should be
 used. This method passes the value of isNativeLookAndFeel() as the last argument to loadSystemColors.
table - the UIDefaults object the values are added to
NullPointerException - if table is nullSystemColor, 
getDefaults(), 
loadSystemColors(javax.swing.UIDefaults, java.lang.String[], boolean)
protected void loadSystemColors(UIDefaults table,
                                String[] systemColors,
                                boolean useNative)
table with the name-color pairs in
 systemColors. Refer to
 initSystemColorDefaults(UIDefaults) for details on
 the format of systemColors.
 
 An entry is added to table for each of the name-color
 pairs in systemColors. The entry key is
 the name of the name-color pair.
 
 The value of the entry corresponds to the color of the
 name-color pair.  The value of the entry is calculated
 in one of two ways. With either approach the value is always a
 ColorUIResource.
 
 If useNative is false, the color is
 created by using Color.decode to convert the String into a Color. If decode can not convert
 the String into a Color (NumberFormatException is thrown) then a ColorUIResource of black is used.
 
 If useNative is true, the color is the
 value of the field in SystemColor with the same name as
 the name of the name-color pair. If the field
 is not valid, a ColorUIResource of black is used.
table - the UIDefaults object the values are added tosystemColors - array of name-color pairs as described
        in initSystemColorDefaults(UIDefaults)useNative - whether the color is obtained from SystemColor
        or Color.decode
NullPointerException - if systemColors is null; or
         systemColors is not empty, and table is
         null; or one of the
         names of the name-color pairs is null; or
         useNative is false and one of the
         colors of the name-color pairs is null
ArrayIndexOutOfBoundsException - if useNative is
         false and systemColors.length is oddinitSystemColorDefaults(javax.swing.UIDefaults), 
SystemColor, 
Color.decode(String)protected void initComponentDefaults(UIDefaults table)
table with the defaults for the basic look and
 feel.
table - the UIDefaults to add the values to
NullPointerException - if table is nullprotected ActionMap getAudioActionMap()
ActionMap containing the audio actions
 for this look and feel.
 
 The returned ActionMap contains Actions that 
 embody the ability to render an auditory cue. These auditory 
 cues map onto user and system activities that may be useful 
 for an end user to know about (such as a dialog box appearing).
 
 At the appropriate time,
 the ComponentUI is responsible for obtaining an 
 Action out of the ActionMap and passing 
 it to playSound.
 
 This method first looks up the ActionMap from the
 defaults using the key "AuditoryCues.actionMap".
 
 If the value is non-null, it is returned. If the value
 of the default "AuditoryCues.actionMap" is null
 and the value of the default "AuditoryCues.cueList" is
 non-null, an ActionMapUIResource is created and
 populated. Population is done by iterating over each of the
 elements of the "AuditoryCues.cueList" array, and
 invoking createAudioAction() to create an Action for each element.  The resulting Action is
 placed in the ActionMapUIResource, using the array
 element as the key.  For example, if the "AuditoryCues.cueList" array contains a single-element, "audioKey", the ActionMapUIResource is created, then
 populated by way of actionMap.put(cueList[0],
 createAudioAction(cueList[0])).
 
 If the value of the default "AuditoryCues.actionMap" is
 null and the value of the default
 "AuditoryCues.cueList" is null, an empty
 ActionMapUIResource is created.
Actions
              responsible for playing auditory cues
ClassCastException - if the value of the
         default "AuditoryCues.actionMap" is not an
         ActionMap, or the value of the default
         "AuditoryCues.cueList" is not an Object[]createAudioAction(java.lang.Object), 
playSound(Action)protected Action createAudioAction(Object key)
Action used to play a sound.
 
 If key is non-null, an Action is created
 using the value from the defaults with key key. The value
 identifies the sound resource to load when
 actionPerformed is invoked on the Action. The
 sound resource is loaded into a byte[] by way of
 getClass().getResourceAsStream().
key - the key identifying the audio action
Action used to play the source, or null
              if key is nullplaySound(Action)protected void playSound(Action audioAction)
actionPerformed on
 audioAction to play a sound. 
 The actionPerformed method is invoked if the value of
 the "AuditoryCues.playList" default is a non-null Object[] containing a String entry
 equal to the name of the audioAction.
audioAction - an Action that knows how to render the audio
                    associated with the system or user activity
                    that is occurring; a value of null, is
                    ignored
ClassCastException - if audioAction is non-null
         and the value of the default "AuditoryCues.playList"
         is not an Object[]| 
 | Java™ Platform Standard Ed. 6 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.