javax.swing.plaf.basic

Class BasicLookAndFeel

Implemented Interfaces:
Serializable
Known Direct Subclasses:
MetalLookAndFeel, SynthLookAndFeel

public abstract class BasicLookAndFeel
extends LookAndFeel
implements Serializable

A basic implementation of Swing's Look and Feel framework. This can serve as a base for custom look and feel implementations.
See Also:
Serialized Form

Constructor Summary

BasicLookAndFeel()
Creates a new instance of the Basic look and feel.

Method Summary

protected Action
createAudioAction(Object key)
Creates an Action that can play an auditory cue specified by the key.
protected ActionMap
getAudioActionMap()
Returns the ActionMap that stores all the actions that are responsibly for rendering auditory cues.
UIDefaults
getDefaults()
Creates and returns a new instance of the default resources for this look and feel.
protected void
initClassDefaults(UIDefaults defaults)
Populates the defaults table with mappings between class IDs and fully qualified class names for the UI delegates.
protected void
initComponentDefaults(UIDefaults defaults)
Populates the defaults table with UI default values for colors, fonts, keybindings and much more.
protected void
initSystemColorDefaults(UIDefaults defaults)
Populates the defaults table with system color defaults.
void
initialize()
Initializes the Look and Feel.
protected void
loadSystemColors(UIDefaults defaults, String[] systemColors, boolean useNative)
Populates the defaults table with the system colors.
protected void
playSound(Action audioAction)
Plays the sound of the action if it is listed in AuditoryCues.playList.
void
uninitialize()
Uninitializes the Look and Feel.

Methods inherited from class javax.swing.LookAndFeel

getDefaults, getDescription, getDesktopPropertyValue, getID, getName, getSupportsWindowDecorations, initialize, installBorder, installColors, installColorsAndFont, installProperty, isNativeLookAndFeel, isSupportedLookAndFeel, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninitialize, uninstallBorder

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

BasicLookAndFeel

public BasicLookAndFeel()
Creates a new instance of the Basic look and feel.

Method Details

createAudioAction

protected Action createAudioAction(Object key)
Creates an Action that can play an auditory cue specified by the key. The UIDefaults value for the key is normally a String that points to an audio file relative to the current package.
Parameters:
key - a UIDefaults key that specifies the sound
Returns:
an action that can play the sound
Since:
1.4

getAudioActionMap

protected ActionMap getAudioActionMap()
Returns the ActionMap that stores all the actions that are responsibly for rendering auditory cues.
Returns:
the action map that stores all the actions that are responsibly for rendering auditory cues
Since:
1.4

getDefaults

public UIDefaults getDefaults()
Creates and returns a new instance of the default resources for this look and feel.
Overrides:
getDefaults in interface LookAndFeel
Returns:
The UI defaults.

initClassDefaults

protected void initClassDefaults(UIDefaults defaults)
Populates the defaults table with mappings between class IDs and fully qualified class names for the UI delegates.
Parameters:
defaults - the defaults table (null not permitted).

initComponentDefaults

protected void initComponentDefaults(UIDefaults defaults)
Populates the defaults table with UI default values for colors, fonts, keybindings and much more.
Parameters:
defaults - the defaults table (null not permitted).

initSystemColorDefaults

protected void initSystemColorDefaults(UIDefaults defaults)
Populates the defaults table with system color defaults. This sets up a couple of default values and passes them to loadSystemColors(UIDefaults,String[],boolean). If the look and feel is a native look and feel, these defaults may be overridden by the corresponding SystemColor constants.
Parameters:
defaults - the defaults table (null not permitted).

initialize

public void initialize()
Initializes the Look and Feel.
Overrides:
initialize in interface LookAndFeel

loadSystemColors

protected void loadSystemColors(UIDefaults defaults,
                                String[] systemColors,
                                boolean useNative)
Populates the defaults table with the system colors. If useNative is true, the table is populated with the constants in SystemColor, otherwise the systemColors parameter is decoded into the defaults table. The system colors array is made up of pairs, where the first entry is the name of the system color, and the second entry is a string denoting an RGB color value like "#C0C0C0", which is decoded using Color.decode(String).
Parameters:
defaults - the defaults table (null not permitted).
systemColors - defaults to use when useNative is false
useNative - when true, installs the values of the SystemColor constants, when false, install the values from systemColors

playSound

protected void playSound(Action audioAction)
Plays the sound of the action if it is listed in AuditoryCues.playList.
Parameters:
audioAction - the audio action to play
Since:
1.4

uninitialize

public void uninitialize()
Uninitializes the Look and Feel.
Overrides:
uninitialize in interface LookAndFeel

BasicLookAndFeel.java -- Copyright (C) 2002, 2004, 2005, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.