javax.swing

Class LookAndFeel

Known Direct Subclasses:
BasicLookAndFeel, MultiLookAndFeel

public abstract class LookAndFeel
extends Object

Method Summary

UIDefaults
getDefaults()
This method is called once by UIManager.setLookAndFeel to create the look and feel specific defaults table.
abstract String
getDescription()
Returns a description of the look and feel.
static Object
getDesktopPropertyValue(String systemPropertyName, Object fallbackValue)
abstract String
getID()
Returns an identifier for the look and feel.
abstract String
getName()
Returns the name for the look and feel.
boolean
getSupportsWindowDecorations()
Returns true when the Look and Feel supports window decorations, false others.
void
initialize()
UIManager.setLookAndFeel calls this method before the first call (and typically the only call) to getDefaults().
static void
installBorder(JComponent c, String defaultBorderName)
Convenience method for installing a component's default Border object on the specified component if either the border is currently null or already an instance of UIResource.
static void
installColors(JComponent c, String defaultBgName, String defaultFgName)
Convenience method for initializing a component's foreground and background color properties with values from the current defaults table.
static void
installColorsAndFont(JComponent component, String defaultBgName, String defaultFgName, String defaultFontName)
Convenience method for initializing a components foreground background and font properties with values from the current defaults table.
abstract boolean
isNativeLookAndFeel()
Returns true if the look and feel is the "native" look and feel for the current platform, and false otherwise.
abstract boolean
isSupportedLookAndFeel()
Returns true if the look and feel is supported on the current operating system, and false otherwise.
static void
loadKeyBindings(InputMap retMap, Object[] keys)
Loads the bindings in keys into retMap.
static ComponentInputMap
makeComponentInputMap(JComponent c, Object[] keys)
Creates a ComponentInputMap from keys.
static Object
makeIcon(Class baseClass, String gifFile)
Utility method that creates a UIDefaults.LazyValue that creates an ImageIcon UIResource for the specified gifFile filename.
static InputMap
makeInputMap(Object[] keys)
Creates a InputMap from keys.
static JTextComponent.KeyBinding[]
makeKeyBindings(Object[] keyBindingList)
Convenience method for building lists of KeyBindings.
void
provideErrorFeedback(Component component)
Invoked when the user attempts an invalid operation.
String
toString()
Returns a string that displays and identifies this object's properties.
void
uninitialize()
UIManager.setLookAndFeel calls this method just before we're replaced by a new default look and feel.
static void
uninstallBorder(JComponent c)
Convenience method for un-installing a component's default border on the specified component if the border is currently an instance of UIResource.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Details

getDefaults

public UIDefaults getDefaults()
This method is called once by UIManager.setLookAndFeel to create the look and feel specific defaults table.
Returns:
the UI defaults

getDescription

public abstract String getDescription()
Returns a description of the look and feel.
Returns:
A description of the look and feel.

getDesktopPropertyValue

public static Object getDesktopPropertyValue(String systemPropertyName,
                                             Object fallbackValue)

getID

public abstract String getID()
Returns an identifier for the look and feel.
Returns:
An identifier for the look and feel.

getName

public abstract String getName()
Returns the name for the look and feel.
Returns:
The name for the look and feel.

getSupportsWindowDecorations

public boolean getSupportsWindowDecorations()
Returns true when the Look and Feel supports window decorations, false others. This method returns always false and needs to be overwritten when the derived Look and Feel supports this.
Returns:
false
Since:
1.4

initialize

public void initialize()
UIManager.setLookAndFeel calls this method before the first call (and typically the only call) to getDefaults().

installBorder

public static void installBorder(JComponent c,
                                 String defaultBorderName)
Convenience method for installing a component's default Border object on the specified component if either the border is currently null or already an instance of UIResource.

installColors

public static void installColors(JComponent c,
                                 String defaultBgName,
                                 String defaultFgName)
Convenience method for initializing a component's foreground and background color properties with values from the current defaults table.

installColorsAndFont

public static void installColorsAndFont(JComponent component,
                                        String defaultBgName,
                                        String defaultFgName,
                                        String defaultFontName)
Convenience method for initializing a components foreground background and font properties with values from the current defaults table.

isNativeLookAndFeel

public abstract boolean isNativeLookAndFeel()
Returns true if the look and feel is the "native" look and feel for the current platform, and false otherwise.
Returns:
A flag indicating whether or not this is the native look and feel for the current platform.

isSupportedLookAndFeel

public abstract boolean isSupportedLookAndFeel()
Returns true if the look and feel is supported on the current operating system, and false otherwise. This mechanism is provided so that it is possible to prevent a look and feel from being used on some operating systems (usually for legal, not technical, reasons).
Returns:
A flag indicating whether or not the look and feel is supported on the current platform.

loadKeyBindings

public static void loadKeyBindings(InputMap retMap,
                                   Object[] keys)
Loads the bindings in keys into retMap. Does not remove existing entries from retMap. keys describes the InputMap, every even indexed item is either a KeyStroke or a String representing a KeyStroke and every odd indexed item is the Object associated with that KeyStroke in an ActionMap.
Parameters:
retMap - the InputMap into which we load bindings
keys - the Object array describing the InputMap as above

makeComponentInputMap

public static ComponentInputMap makeComponentInputMap(JComponent c,
                                                      Object[] keys)
Creates a ComponentInputMap from keys. keys describes the InputMap, every even indexed item is either a KeyStroke or a String representing a KeyStroke and every odd indexed item is the Object associated with that KeyStroke in an ActionMap.
Parameters:
c - the JComponent associated with the ComponentInputMap
keys - the Object array describing the InputMap as above

makeIcon

public static Object makeIcon(Class baseClass,
                              String gifFile)
Utility method that creates a UIDefaults.LazyValue that creates an ImageIcon UIResource for the specified gifFile filename.

makeInputMap

public static InputMap makeInputMap(Object[] keys)
Creates a InputMap from keys. keys describes the InputMap, every even indexed item is either a KeyStroke or a String representing a KeyStroke and every odd indexed item is the Object associated with that KeyStroke in an ActionMap.
Parameters:
keys - the Object array describing the InputMap as above

makeKeyBindings

public static JTextComponent.KeyBinding[] makeKeyBindings(Object[] keyBindingList)
Convenience method for building lists of KeyBindings. keyBindingList is an array of KeyStroke-Action pairs where even indexed elements are KeyStrokes or Strings representing KeyStrokes and odd indexed elements are the associated Actions.
Parameters:
keyBindingList - the array of KeyStroke-Action pairs
Returns:
a JTextComponent.KeyBinding array

provideErrorFeedback

public void provideErrorFeedback(Component component)
Invoked when the user attempts an invalid operation. The default implement just beeps. Subclasses that wish to change this need to override this method.
Parameters:
component - the component the error occured in

toString

public String toString()
Returns a string that displays and identifies this object's properties.
Overrides:
toString in interface Object
Returns:
string containing the description and class name.

uninitialize

public void uninitialize()
UIManager.setLookAndFeel calls this method just before we're replaced by a new default look and feel.

uninstallBorder

public static void uninstallBorder(JComponent c)
Convenience method for un-installing a component's default border on the specified component if the border is currently an instance of UIResource.

LookAndFeel.java -- Copyright (C) 2002, 2004, 2005 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.