javax.swing
Class LookAndFeel
A
look-and-feel controls most aspects of the appearance and
operation of user interface components in
javax.swing
. A
cross-platform look-and-feel (the
MetalLookAndFeel
) is provided.
UIDefaults | getDefaults() - Creates and returns a look-and-feel specific defaults table.
|
abstract String | getDescription() - Returns a description of the look and feel.
|
static Object | getDesktopPropertyValue(String systemPropertyName, Object fallbackValue) - Returns the value of
Toolkit.getDefaultToolkit()
.getDesktopProperty(systemPropertyName) , or
fallbackValue if no such property is defined.
|
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, and false otherwise.
|
void | initialize() - Initializes the look-and-feel.
|
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 component's foreground, background
and font properties with values from the current defaults table.
|
static void | installProperty(JComponent c, String propertyName, Object value) - This methods installs a UI property if it hasn't already been set by an
application.
|
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.
|
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
getDescription
public abstract String getDescription()
Returns a description of the look and feel.
- A description of the look and feel.
getDesktopPropertyValue
public static Object getDesktopPropertyValue(String systemPropertyName,
Object fallbackValue)
Returns the value of Toolkit.getDefaultToolkit()
.getDesktopProperty(systemPropertyName)
, or
fallbackValue
if no such property is defined.
systemPropertyName
- the system property name.fallbackValue
- the fallback value.
- The property value or
fallbackValue
.
getID
public abstract String getID()
Returns an identifier for the look and feel.
- An identifier for the look and feel.
getName
public abstract String getName()
Returns the name for the look and feel.
- The name for the look and feel.
getSupportsWindowDecorations
public boolean getSupportsWindowDecorations()
Returns true
when the look-and-feel supports window
decorations, and false
otherwise. This default implementation
always returns false
and needs to be overridden when the
derived look-and-feel supports this.
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
.
c
- the component (null
not permitted).defaultBorderName
- the border name (for lookup in the UIDefaults
table).
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.
c
- the component (null
not permitted).defaultBgName
- the key for the background color in the UIDefaults
table.defaultFgName
- the key for the foreground color in the UIDefaults
table.
installColorsAndFont
public static void installColorsAndFont(JComponent component,
String defaultBgName,
String defaultFgName,
String defaultFontName)
Convenience method for initializing a component's foreground, background
and font properties with values from the current defaults table.
component
- the component (null
not permitted).defaultBgName
- the key for the background color in the UIDefaults
table.defaultFgName
- the key for the foreground color in the UIDefaults
table.defaultFontName
- the key for the font in the UIDefaults table.
installProperty
public static void installProperty(JComponent c,
String propertyName,
Object value)
This methods installs a UI property if it hasn't already been set by an
application. This method is used by UI delegates that install a default
value for a property with a primitive type but do not want to override
a value that has been set by an application.
The supported properties depend on the actual type of the component and
are listed in the table below. The supported properties are of course
inherited to subclasses.
Type | Supported properties |
---|
JComponent | opaque, autoscrolls |
AbstractButton | borderPainted, rolloverEnabled, iconTextGap,
contentAreaFilled |
JDesktopPane | dragMode |
JSplitPane | dividerSize, oneTouchExpandable |
JTable | rowHeight |
JTree | rowHeight, scrollsOnExpand, showsRootHandles |
c
- the component to install the property topropertyName
- the name of the propertyvalue
- the value of the property
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.
A native look-and-feel emulates the appearance and behaviour of the
default windowing system on the host operating system.
- 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).
- 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.
retMap
- the InputMap into which we load bindingskeys
- 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.
c
- the JComponent associated with the ComponentInputMapkeys
- 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.
baseClass
- the base class for accessing the icon resource.gifFile
- the file name.
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.
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.
keyBindingList
- the array of KeyStroke-Action pairs
- a JTextComponent.KeyBinding array
provideErrorFeedback
public void provideErrorFeedback(Component component)
Invoked when the user attempts an invalid operation. The default
implementation just beeps. Subclasses that wish to change this need to
override this method.
component
- the component the error occured in
toString
public String toString()
Returns a string that displays and identifies this object's properties.
- toString in interface Object
- 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.
c
- the component (null
not permitted).
LookAndFeel.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.