java.lang.Object | |||
↳ | javax.swing.LookAndFeel | ||
↳ | javax.swing.plaf.basic.BasicLookAndFeel | ||
↳ | javax.swing.plaf.metal.MetalLookAndFeel |
The Java Look and Feel, otherwise known as Metal.
Each of the ComponentUI
s provided by MetalLookAndFeel
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.
MetalLookAndFeel
derives it's color palette and fonts from
MetalTheme
. The default theme is OceanTheme
. The theme
can be changed using the setCurrentTheme
method, refer to it
for details on changing the theme. Prior to 1.5 the default
theme was DefaultMetalTheme
. The system property
"swing.metalTheme"
can be set to "steel"
to indicate
the default should be DefaultMetalTheme
.
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
.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns the accelerator foreground color of the current theme.
| |||||||||||
Returns the accelerator selected foreground color of the
current theme.
| |||||||||||
Returns the black color of the current theme.
| |||||||||||
Returns the control color of the current theme.
| |||||||||||
Returns the control dark shadow color of the current theme.
| |||||||||||
Returns the control disabled color of the current theme.
| |||||||||||
Returns the control highlight color of the current theme.
| |||||||||||
Returns the control info color of the current theme.
| |||||||||||
Returns the control shadow color of the current theme.
| |||||||||||
Returns the control text color of the current theme.
| |||||||||||
Returns the control text font of the current theme.
| |||||||||||
Return the theme currently being used by
MetalLookAndFeel . | |||||||||||
Returns the look and feel defaults.
| |||||||||||
Returns a short description of this look and feel.
| |||||||||||
Returns the desktop color of the current theme.
| |||||||||||
Returns an
Icon with a disabled appearance. | |||||||||||
Returns an
Icon for use by disabled
components that are also selected. | |||||||||||
Returns the focus color of the current theme.
| |||||||||||
Returns the highlighted text color of the current theme.
| |||||||||||
Returns an identifier for this look and feel.
| |||||||||||
Returns the inactive control text color of the current theme.
| |||||||||||
Returns the inactive system text color of the current theme.
| |||||||||||
Returns a
LayoutStyle implementing the Java look and feel
design guidelines as specified at
http://java.sun.com/products/jlf/ed2/book/HIG.Visual2.html. | |||||||||||
Returns the menu background color of the current theme.
| |||||||||||
Returns the menu disabled foreground color of the current theme.
| |||||||||||
Returns the menu foreground color of the current theme.
| |||||||||||
Returns the menu selected background color of the current theme.
| |||||||||||
Returns the menu selected foreground color of the current theme.
| |||||||||||
Returns the menu text font of the current theme.
| |||||||||||
Returns the name of this look and feel.
| |||||||||||
Returns the primary control color of the current theme.
| |||||||||||
Returns the primary control dark shadow color of the current
theme.
| |||||||||||
Returns the primary control highlight color of the current
theme.
| |||||||||||
Returns the primary control info color of the current theme.
| |||||||||||
Returns the primary control shadow color of the current theme.
| |||||||||||
Returns the separator background color of the current theme.
| |||||||||||
Returns the separator foreground color of the current theme.
| |||||||||||
Returns the sub-text font of the current theme.
| |||||||||||
Returns
true ; metal can provide Window
decorations. | |||||||||||
Returns the system text color of the current theme.
| |||||||||||
Returns the sytem text font of the current theme.
| |||||||||||
Returns the text highlight color of the current theme.
| |||||||||||
Returns the user text color of the current theme.
| |||||||||||
Returns the user text font of the current theme.
| |||||||||||
Returns the white color of the current theme.
| |||||||||||
Returns the window background color of the current theme.
| |||||||||||
Returns the window title background color of the current
theme.
| |||||||||||
Returns the window title font of the current theme.
| |||||||||||
Returns the window title foreground color of the current
theme.
| |||||||||||
Returns the window title inactive background color of the current
theme.
| |||||||||||
Returns the window title inactive foreground color of the current
theme.
| |||||||||||
Returns
false ; MetalLookAndFeel is not a native
look and feel. | |||||||||||
Returns
true ; MetalLookAndFeel can be run on
any platform. | |||||||||||
Invoked when the user attempts an invalid operation,
such as pasting into an uneditable
JTextField
that has focus. | |||||||||||
Set the theme used by
MetalLookAndFeel . |
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Ensures the current
MetalTheme is non-null . | |||||||||||
Populates
table with mappings from uiClassID to
the fully qualified name of the ui class. | |||||||||||
Populates
table with the defaults for metal. | |||||||||||
Populates
table with system colors. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
Returns the accelerator foreground color of the current theme. This is
a cover method for getCurrentTheme().getAcceleratorForeground()
.
Returns the accelerator selected foreground color of the
current theme. This is a cover method for getCurrentTheme().getAcceleratorSelectedForeground()
.
Returns the black color of the current theme. This is a
cover method for getCurrentTheme().getBlack()
.
Returns the control color of the current theme. This is a
cover method for getCurrentTheme().getControl()
.
Returns the control dark shadow color of the current theme. This is a
cover method for getCurrentTheme().getControlDarkShadow()
.
Returns the control disabled color of the current theme. This is a
cover method for getCurrentTheme().getControlDisabled()
.
Returns the control highlight color of the current theme. This is a
cover method for getCurrentTheme().getControlHighlight()
.
Returns the control info color of the current theme. This is a
cover method for getCurrentTheme().getControlInfo()
.
Returns the control shadow color of the current theme. This is a
cover method for getCurrentTheme().getControlShadow()
.
Returns the control text color of the current theme. This is a
cover method for getCurrentTheme().getControlTextColor()
.
Returns the control text font of the current theme. This is a
cover method for getCurrentTheme().getControlTextColor()
.
Return the theme currently being used by MetalLookAndFeel
.
If the current theme is null
, the default theme is created.
Returns the look and feel defaults. This invokes, in order,
createDefaultTheme()
, super.getDefaults()
and
getCurrentTheme().addCustomEntriesToTable(table)
.
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.
Returns a short description of this look and feel. This returns
"The Java(tm) Look and Feel"
.
Returns the desktop color of the current theme. This is a
cover method for getCurrentTheme().getDesktopColor()
.
Returns an Icon
with a disabled appearance.
This method is used to generate a disabled Icon
when
one has not been specified. For example, if you create a
JButton
and only specify an Icon
via
setIcon
this method will be called to generate the
disabled Icon
. If null is passed as icon
this method returns null.
Some look and feels might not render the disabled Icon, in which case they will ignore this.
component | JComponent that will display the Icon, may be null |
---|---|
icon | Icon to generate disable icon from. |
Returns an Icon
for use by disabled
components that are also selected. This method is used to generate an
Icon
for components that are in both the disabled and
selected states but do not have a specific Icon
for this
state. For example, if you create a JButton
and only
specify an Icon
via setIcon
this method
will be called to generate the disabled and selected
Icon
. If null is passed as icon
this method
returns null.
Some look and feels might not render the disabled and selected Icon, in which case they will ignore this.
component | JComponent that will display the Icon, may be null |
---|---|
icon | Icon to generate disabled and selected icon from. |
Returns the focus color of the current theme. This is a
cover method for getCurrentTheme().getFocusColor()
.
Returns the highlighted text color of the current theme. This is a
cover method for getCurrentTheme().getHighlightedTextColor()
.
Returns an identifier for this look and feel. This returns
"Metal"
.
Returns the inactive control text color of the current theme. This is a
cover method for getCurrentTheme().getInactiveControlTextColor()
.
Returns the inactive system text color of the current theme. This is a
cover method for getCurrentTheme().getInactiveSystemTextColor()
.
Returns a LayoutStyle
implementing the Java look and feel
design guidelines as specified at
http://java.sun.com/products/jlf/ed2/book/HIG.Visual2.html.
Returns the menu background color of the current theme. This is
a cover method for getCurrentTheme().getMenuBackground()
.
Returns the menu disabled foreground color of the current theme. This is
a cover method for
getCurrentTheme().getMenuDisabledForeground()
.
Returns the menu foreground color of the current theme. This is
a cover method for getCurrentTheme().getMenuForeground()
.
Returns the menu selected background color of the current theme. This is
a cover method for
getCurrentTheme().getMenuSelectedBackground()
.
Returns the menu selected foreground color of the current theme. This is
a cover method for
getCurrentTheme().getMenuSelectedForeground()
.
Returns the menu text font of the current theme. This is a
cover method for getCurrentTheme().getMenuTextFont()
.
Returns the name of this look and feel. This returns
"Metal"
.
Returns the primary control color of the current theme. This is a
cover method for getCurrentTheme().getPrimaryControl()
.
Returns the primary control dark shadow color of the current
theme. This is a cover method for getCurrentTheme().getPrimaryControlDarkShadow()
.
Returns the primary control highlight color of the current
theme. This is a cover method for getCurrentTheme().getPrimaryControlHighlight()
.
Returns the primary control info color of the current theme. This is a
cover method for getCurrentTheme().getPrimaryControlInfo()
.
Returns the primary control shadow color of the current theme. This is a
cover method for getCurrentTheme().getPrimaryControlShadow()
.
Returns the separator background color of the current theme. This is
a cover method for getCurrentTheme().getSeparatorBackground()
.
Returns the separator foreground color of the current theme. This is
a cover method for getCurrentTheme().getSeparatorForeground()
.
Returns the sub-text font of the current theme. This is a
cover method for getCurrentTheme().getSubTextFont()
.
Returns true
; metal can provide Window
decorations.
true
Returns the system text color of the current theme. This is a
cover method for getCurrentTheme().getSystemTextColor()
.
Returns the sytem text font of the current theme. This is a
cover method for getCurrentTheme().getSystemTextFont()
.
Returns the text highlight color of the current theme. This is a
cover method for getCurrentTheme().getTextHighlightColor()
.
Returns the user text color of the current theme. This is a
cover method for getCurrentTheme().getUserTextColor()
.
Returns the user text font of the current theme. This is a
cover method for getCurrentTheme().getUserTextFont()
.
Returns the white color of the current theme. This is a
cover method for getCurrentTheme().getWhite()
.
Returns the window background color of the current theme. This is a
cover method for getCurrentTheme().getWindowBackground()
.
Returns the window title background color of the current
theme. This is a cover method for getCurrentTheme().getWindowTitleBackground()
.
Returns the window title font of the current theme. This is a
cover method for getCurrentTheme().getWindowTitleFont()
.
Returns the window title foreground color of the current
theme. This is a cover method for getCurrentTheme().getWindowTitleForeground()
.
Returns the window title inactive background color of the current
theme. This is a cover method for getCurrentTheme().getWindowTitleInactiveBackground()
.
Returns the window title inactive foreground color of the current
theme. This is a cover method for getCurrentTheme().getWindowTitleInactiveForeground()
.
Returns false
; MetalLookAndFeel
is not a native
look and feel.
false
Returns true
; MetalLookAndFeel
can be run on
any platform.
true
Invoked when the user attempts an invalid operation,
such as pasting into an uneditable JTextField
that has focus. The default implementation beeps. Subclasses
that wish different behavior should override this and provide
the additional feedback.
component | the Component the error occurred in,
may be null
indicating the error condition is not directly
associated with a Component |
---|
Set the theme used by MetalLookAndFeel
.
After the theme is set, MetalLookAndFeel
needs to be
re-installed and the uis need to be recreated. The following
shows how to do this:
MetalLookAndFeel.setCurrentTheme(theme); // re-install the Metal Look and Feel UIManager.setLookAndFeel(new MetalLookAndFeel()); // Update the ComponentUIs for all Components. This // needs to be invoked for all windows. SwingUtilities.updateComponentTreeUI(rootComponent);If this is not done the results are undefined.
theme | the theme to use |
---|
NullPointerException | if theme is null |
---|
Ensures the current MetalTheme
is non-null
. This is
a cover method for getCurrentTheme
.
Populates table
with mappings from uiClassID
to
the fully qualified name of the ui class. MetalLookAndFeel
registers an entry for each of the classes in
the package javax.swing.plaf.metal
that are named
MetalXXXUI. The string XXX
is one of Swing's uiClassIDs. For
the uiClassIDs
that do not have a class in metal, the
corresponding class in javax.swing.plaf.basic
is
used. For example, metal does not have a class named "MetalColorChooserUI"
, as such, javax.swing.plaf.basic.BasicColorChooserUI
is used.
table | the UIDefaults instance the entries are
added to |
---|
NullPointerException | if table is null |
---|
Populates table
with the defaults for metal.
table | the UIDefaults to add the values to |
---|
NullPointerException | if table is null
|
---|
Populates table
with system colors. The following values are
added to table
:
Key | Value |
---|---|
"desktop" | theme.getDesktopColor()
|
"activeCaption" | theme.getWindowTitleBackground()
|
"activeCaptionText" | theme.getWindowTitleForeground()
|
"activeCaptionBorder" | theme.getPrimaryControlShadow()
|
"inactiveCaption" | theme.getWindowTitleInactiveBackground()
|
"inactiveCaptionText" | theme.getWindowTitleInactiveForeground()
|
"inactiveCaptionBorder" | theme.getControlShadow()
|
"window" | theme.getWindowBackground()
|
"windowBorder" | theme.getControl()
|
"windowText" | theme.getUserTextColor()
|
"menu" | theme.getMenuBackground()
|
"menuText" | theme.getMenuForeground()
|
"text" | theme.getWindowBackground()
|
"textText" | theme.getUserTextColor()
|
"textHighlight" | theme.getTextHighlightColor()
|
"textHighlightText" | theme.getHighlightedTextColor()
|
"textInactiveText" | theme.getInactiveSystemTextColor()
|
"control" | theme.getControl()
|
"controlText" | theme.getControlTextColor()
|
"controlHighlight" | theme.getControlHighlight()
|
"controlLtHighlight" | theme.getControlHighlight()
|
"controlShadow" | theme.getControlShadow()
|
"controlDkShadow" | theme.getControlDarkShadow()
|
"scrollbar" | theme.getControl()
|
"info" | theme.getPrimaryControl()
|
"infoText" | theme.getPrimaryControlInfo()
|
theme
corresponds to the current MetalTheme
.table | the UIDefaults object the values are added to |
---|
NullPointerException | if table is null
|
---|