Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
javax.swing.LookAndFeel
public abstract class LookAndFeel
extends Object
javax.swing
. A
cross-platform look-and-feel (the MetalLookAndFeel
) is provided.
Method Summary | |
UIDefaults |
|
abstract String |
|
static Object |
|
abstract String |
|
abstract String |
|
boolean |
|
void |
|
static void |
|
static void |
|
static void |
|
static void |
|
abstract boolean |
|
abstract boolean |
|
static void |
|
static ComponentInputMap |
|
static Object | |
static InputMap |
|
static JTextComponent.KeyBinding[] |
|
void |
|
String |
|
void |
|
static void |
|
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public UIDefaults getDefaults()
Creates and returns a look-and-feel specific defaults table. This method is called once byUIManager.setLookAndFeel(LookAndFeel)
and shouldn't be called again (as it creates a large table of defaults).
- Returns:
- The UI defaults.
public abstract String getDescription()
Returns a description of the look and feel.
- Returns:
- A description of the look and feel.
public static Object getDesktopPropertyValue(String systemPropertyName, Object fallbackValue)
Returns the value ofToolkit.getDefaultToolkit() .getDesktopProperty(systemPropertyName)
, orfallbackValue
if no such property is defined.
- Parameters:
systemPropertyName
- the system property name.fallbackValue
- the fallback value.
- Returns:
- The property value or
fallbackValue
.
public abstract String getID()
Returns an identifier for the look and feel.
- Returns:
- An identifier for the look and feel.
public abstract String getName()
Returns the name for the look and feel.
- Returns:
- The name for the look and feel.
public boolean getSupportsWindowDecorations()
Returnstrue
when the look-and-feel supports window decorations, andfalse
otherwise. This default implementation always returnsfalse
and needs to be overridden when the derived look-and-feel supports this.
- Returns:
false
.
- Since:
- 1.4
public void initialize()
Initializes the look-and-feel. TheUIManager.setLookAndFeel(LookAndFeel)
method calls this method before the first call (and typically the only call) togetDefaults()
. This default implementation does nothing, but subclasses can override this behaviour.
public static void installBorder(JComponent c, String defaultBorderName)
Convenience method for installing a component's defaultBorder
object on the specified component if either the border is currentlynull
or already an instance ofUIResource
.
- Parameters:
c
- the component (null
not permitted).defaultBorderName
- the border name (for lookup in the UIDefaults table).
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.
- Parameters:
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.
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.
- Parameters:
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.
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
- Parameters:
c
- the component to install the property topropertyName
- the name of the propertyvalue
- the value of the property
- Throws:
IllegalArgumentException
- if the specified property cannot be set by this methodClassCastException
- if the property value does not match the property typeNullPointerException
- ifc
orpropertyValue
isnull
- Since:
- 1.5
public abstract boolean isNativeLookAndFeel()
Returnstrue
if the look-and-feel is the "native" look-and-feel for the current platform, andfalse
otherwise. A native look-and-feel emulates the appearance and behaviour of the default windowing system on the host operating system.
- Returns:
- A flag indicating whether or not this is the native look and feel for the current platform.
public abstract boolean isSupportedLookAndFeel()
Returnstrue
if the look-and-feel is supported on the current operating system, andfalse
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.
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 bindingskeys
- the Object array describing the InputMap as above
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 ComponentInputMapkeys
- the Object array describing the InputMap as above
- Returns:
- A new input map.
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.
- Parameters:
baseClass
- the base class for accessing the icon resource.gifFile
- the file name.
- Returns:
- A
UIDefaults.LazyValue
that serves up anIconUIResource
.
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
- Returns:
- A new input map.
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
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.
- Parameters:
component
- the component the error occured in
public String toString()
Returns a string that displays and identifies this object's properties.
- Returns:
- string containing the description and class name.
public void uninitialize()
UIManager.setLookAndFeel calls this method just before we're replaced by a new default look and feel.
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.
- Parameters:
c
- the component (null
not permitted).