public abstract class MetalTheme extends Object
MetalTheme
provides the color palette and fonts used by the Java Look and Feel.
MetalTheme
is abstract, see DefaultMetalTheme
and OceanTheme
for concrete implementations.
MetalLookAndFeel
maintains the current theme that the the ComponentUI
implementations for metal use. Refer to MetalLookAndFeel.setCurrentTheme(MetalTheme)
for details on changing the current theme.
MetalTheme
provides a number of public methods for getting colors. These methods are implemented in terms of a handful of protected abstract methods. A subclass need only override the protected abstract methods (getPrimary1
, getPrimary2
, getPrimary3
, getSecondary1
, getSecondary2
, and getSecondary3
); although a subclass may override the other public methods for more control over the set of colors that are used.
Concrete implementations of MetalTheme
must return non-null
values from all methods. While the behavior of returning null
is not specified, returning null
will result in incorrect behavior.
It is strongly recommended that subclasses return completely opaque colors. To do otherwise may result in rendering problems, such as visual garbage.
DefaultMetalTheme
, OceanTheme
, MetalLookAndFeel.setCurrentTheme(javax.swing.plaf.metal.MetalTheme)
public MetalTheme()
public abstract String getName()
Returns the name of this theme.
protected abstract ColorUIResource getPrimary1()
Returns the primary 1 color.
protected abstract ColorUIResource getPrimary2()
Returns the primary 2 color.
protected abstract ColorUIResource getPrimary3()
Returns the primary 3 color.
protected abstract ColorUIResource getSecondary1()
Returns the secondary 1 color.
protected abstract ColorUIResource getSecondary2()
Returns the secondary 2 color.
protected abstract ColorUIResource getSecondary3()
Returns the secondary 3 color.
public abstract FontUIResource getControlTextFont()
Returns the control text font.
public abstract FontUIResource getSystemTextFont()
Returns the system text font.
public abstract FontUIResource getUserTextFont()
Returns the user text font.
public abstract FontUIResource getMenuTextFont()
Returns the menu text font.
public abstract FontUIResource getWindowTitleFont()
Returns the window title font.
public abstract FontUIResource getSubTextFont()
Returns the sub-text font.
protected ColorUIResource getWhite()
Returns the white color. This returns opaque white (0xFFFFFFFF
).
protected ColorUIResource getBlack()
Returns the black color. This returns opaque black (0xFF000000
).
public ColorUIResource getFocusColor()
Returns the focus color. This returns the value of getPrimary2()
.
public ColorUIResource getDesktopColor()
Returns the desktop color. This returns the value of getPrimary2()
.
public ColorUIResource getControl()
Returns the control color. This returns the value of getSecondary3()
.
public ColorUIResource getControlShadow()
Returns the control shadow color. This returns the value of getSecondary2()
.
public ColorUIResource getControlDarkShadow()
Returns the control dark shadow color. This returns the value of getSecondary1()
.
public ColorUIResource getControlInfo()
Returns the control info color. This returns the value of getBlack()
.
public ColorUIResource getControlHighlight()
Returns the control highlight color. This returns the value of getWhite()
.
public ColorUIResource getControlDisabled()
Returns the control disabled color. This returns the value of getSecondary2()
.
public ColorUIResource getPrimaryControl()
Returns the primary control color. This returns the value of getPrimary3()
.
public ColorUIResource getPrimaryControlShadow()
Returns the primary control shadow color. This returns the value of getPrimary2()
.
public ColorUIResource getPrimaryControlDarkShadow()
Returns the primary control dark shadow color. This returns the value of getPrimary1()
.
public ColorUIResource getPrimaryControlInfo()
Returns the primary control info color. This returns the value of getBlack()
.
public ColorUIResource getPrimaryControlHighlight()
Returns the primary control highlight color. This returns the value of getWhite()
.
public ColorUIResource getSystemTextColor()
Returns the system text color. This returns the value of getBlack()
.
public ColorUIResource getControlTextColor()
Returns the control text color. This returns the value of getControlInfo()
.
public ColorUIResource getInactiveControlTextColor()
Returns the inactive control text color. This returns the value of getControlDisabled()
.
public ColorUIResource getInactiveSystemTextColor()
Returns the inactive system text color. This returns the value of getSecondary2()
.
public ColorUIResource getUserTextColor()
Returns the user text color. This returns the value of getBlack()
.
public ColorUIResource getTextHighlightColor()
Returns the text highlight color. This returns the value of getPrimary3()
.
public ColorUIResource getHighlightedTextColor()
Returns the highlighted text color. This returns the value of getControlTextColor()
.
public ColorUIResource getWindowBackground()
Returns the window background color. This returns the value of getWhite()
.
public ColorUIResource getWindowTitleBackground()
Returns the window title background color. This returns the value of getPrimary3()
.
public ColorUIResource getWindowTitleForeground()
Returns the window title foreground color. This returns the value of getBlack()
.
public ColorUIResource getWindowTitleInactiveBackground()
Returns the window title inactive background color. This returns the value of getSecondary3()
.
public ColorUIResource getWindowTitleInactiveForeground()
Returns the window title inactive foreground color. This returns the value of getBlack()
.
public ColorUIResource getMenuBackground()
Returns the menu background color. This returns the value of getSecondary3()
.
public ColorUIResource getMenuForeground()
Returns the menu foreground color. This returns the value of getBlack()
.
public ColorUIResource getMenuSelectedBackground()
Returns the menu selected background color. This returns the value of getPrimary2()
.
public ColorUIResource getMenuSelectedForeground()
Returns the menu selected foreground color. This returns the value of getBlack()
.
public ColorUIResource getMenuDisabledForeground()
Returns the menu disabled foreground color. This returns the value of getSecondary2()
.
public ColorUIResource getSeparatorBackground()
Returns the separator background color. This returns the value of getWhite()
.
public ColorUIResource getSeparatorForeground()
Returns the separator foreground color. This returns the value of getPrimary1()
.
public ColorUIResource getAcceleratorForeground()
Returns the accelerator foreground color. This returns the value of getPrimary1()
.
public ColorUIResource getAcceleratorSelectedForeground()
Returns the accelerator selected foreground color. This returns the value of getBlack()
.
public void addCustomEntriesToTable(UIDefaults table)
Adds values specific to this theme to the defaults table. This method is invoked when the look and feel defaults are obtained from MetalLookAndFeel
.
This implementation does nothing; it is provided for subclasses that wish to customize the defaults table.
table
- the UIDefaults
to add the values toMetalLookAndFeel.getDefaults()
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.