Module java.desktop

Class MetalTheme

java.lang.Object
javax.swing.plaf.metal.MetalTheme
Direct Known Subclasses:
DefaultMetalTheme

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.

See Also:
DefaultMetalTheme, OceanTheme, MetalLookAndFeel.setCurrentTheme(javax.swing.plaf.metal.MetalTheme)
  • Constructor Details

    • MetalTheme

      public MetalTheme()
  • Method Details

    • getName

      public abstract String getName()
      Returns the name of this theme.
      Returns:
      the name of this theme
    • getPrimary1

      protected abstract ColorUIResource getPrimary1()
      Returns the primary 1 color.
      Returns:
      the primary 1 color
    • getPrimary2

      protected abstract ColorUIResource getPrimary2()
      Returns the primary 2 color.
      Returns:
      the primary 2 color
    • getPrimary3

      protected abstract ColorUIResource getPrimary3()
      Returns the primary 3 color.
      Returns:
      the primary 3 color
    • getSecondary1

      protected abstract ColorUIResource getSecondary1()
      Returns the secondary 1 color.
      Returns:
      the secondary 1 color
    • getSecondary2

      protected abstract ColorUIResource getSecondary2()
      Returns the secondary 2 color.
      Returns:
      the secondary 2 color
    • getSecondary3

      protected abstract ColorUIResource getSecondary3()
      Returns the secondary 3 color.
      Returns:
      the secondary 3 color
    • getControlTextFont

      public abstract FontUIResource getControlTextFont()
      Returns the control text font.
      Returns:
      the control text font
    • getSystemTextFont

      public abstract FontUIResource getSystemTextFont()
      Returns the system text font.
      Returns:
      the system text font
    • getUserTextFont

      public abstract FontUIResource getUserTextFont()
      Returns the user text font.
      Returns:
      the user text font
    • getMenuTextFont

      public abstract FontUIResource getMenuTextFont()
      Returns the menu text font.
      Returns:
      the menu text font
    • getWindowTitleFont

      public abstract FontUIResource getWindowTitleFont()
      Returns the window title font.
      Returns:
      the window title font
    • getSubTextFont

      public abstract FontUIResource getSubTextFont()
      Returns the sub-text font.
      Returns:
      the sub-text font
    • getWhite

      protected ColorUIResource getWhite()
      Returns the white color. This returns opaque white (0xFFFFFFFF).
      Returns:
      the white color
    • getBlack

      protected ColorUIResource getBlack()
      Returns the black color. This returns opaque black (0xFF000000).
      Returns:
      the black color
    • getFocusColor

      public ColorUIResource getFocusColor()
      Returns the focus color. This returns the value of getPrimary2().
      Returns:
      the focus color
    • getDesktopColor

      public ColorUIResource getDesktopColor()
      Returns the desktop color. This returns the value of getPrimary2().
      Returns:
      the desktop color
    • getControl

      public ColorUIResource getControl()
      Returns the control color. This returns the value of getSecondary3().
      Returns:
      the control color
    • getControlShadow

      public ColorUIResource getControlShadow()
      Returns the control shadow color. This returns the value of getSecondary2().
      Returns:
      the control shadow color
    • getControlDarkShadow

      public ColorUIResource getControlDarkShadow()
      Returns the control dark shadow color. This returns the value of getSecondary1().
      Returns:
      the control dark shadow color
    • getControlInfo

      public ColorUIResource getControlInfo()
      Returns the control info color. This returns the value of getBlack().
      Returns:
      the control info color
    • getControlHighlight

      public ColorUIResource getControlHighlight()
      Returns the control highlight color. This returns the value of getWhite().
      Returns:
      the control highlight color
    • getControlDisabled

      public ColorUIResource getControlDisabled()
      Returns the control disabled color. This returns the value of getSecondary2().
      Returns:
      the control disabled color
    • getPrimaryControl

      public ColorUIResource getPrimaryControl()
      Returns the primary control color. This returns the value of getPrimary3().
      Returns:
      the primary control color
    • getPrimaryControlShadow

      public ColorUIResource getPrimaryControlShadow()
      Returns the primary control shadow color. This returns the value of getPrimary2().
      Returns:
      the primary control shadow color
    • getPrimaryControlDarkShadow

      public ColorUIResource getPrimaryControlDarkShadow()
      Returns the primary control dark shadow color. This returns the value of getPrimary1().
      Returns:
      the primary control dark shadow color
    • getPrimaryControlInfo

      public ColorUIResource getPrimaryControlInfo()
      Returns the primary control info color. This returns the value of getBlack().
      Returns:
      the primary control info color
    • getPrimaryControlHighlight

      public ColorUIResource getPrimaryControlHighlight()
      Returns the primary control highlight color. This returns the value of getWhite().
      Returns:
      the primary control highlight color
    • getSystemTextColor

      public ColorUIResource getSystemTextColor()
      Returns the system text color. This returns the value of getBlack().
      Returns:
      the system text color
    • getControlTextColor

      public ColorUIResource getControlTextColor()
      Returns the control text color. This returns the value of getControlInfo().
      Returns:
      the control text color
    • getInactiveControlTextColor

      public ColorUIResource getInactiveControlTextColor()
      Returns the inactive control text color. This returns the value of getControlDisabled().
      Returns:
      the inactive control text color
    • getInactiveSystemTextColor

      public ColorUIResource getInactiveSystemTextColor()
      Returns the inactive system text color. This returns the value of getSecondary2().
      Returns:
      the inactive system text color
    • getUserTextColor

      public ColorUIResource getUserTextColor()
      Returns the user text color. This returns the value of getBlack().
      Returns:
      the user text color
    • getTextHighlightColor

      public ColorUIResource getTextHighlightColor()
      Returns the text highlight color. This returns the value of getPrimary3().
      Returns:
      the text highlight color
    • getHighlightedTextColor

      public ColorUIResource getHighlightedTextColor()
      Returns the highlighted text color. This returns the value of getControlTextColor().
      Returns:
      the highlighted text color
    • getWindowBackground

      public ColorUIResource getWindowBackground()
      Returns the window background color. This returns the value of getWhite().
      Returns:
      the window background color
    • getWindowTitleBackground

      public ColorUIResource getWindowTitleBackground()
      Returns the window title background color. This returns the value of getPrimary3().
      Returns:
      the window title background color
    • getWindowTitleForeground

      public ColorUIResource getWindowTitleForeground()
      Returns the window title foreground color. This returns the value of getBlack().
      Returns:
      the window title foreground color
    • getWindowTitleInactiveBackground

      public ColorUIResource getWindowTitleInactiveBackground()
      Returns the window title inactive background color. This returns the value of getSecondary3().
      Returns:
      the window title inactive background color
    • getWindowTitleInactiveForeground

      public ColorUIResource getWindowTitleInactiveForeground()
      Returns the window title inactive foreground color. This returns the value of getBlack().
      Returns:
      the window title inactive foreground color
    • getMenuBackground

      public ColorUIResource getMenuBackground()
      Returns the menu background color. This returns the value of getSecondary3().
      Returns:
      the menu background color
    • getMenuForeground

      public ColorUIResource getMenuForeground()
      Returns the menu foreground color. This returns the value of getBlack().
      Returns:
      the menu foreground color
    • getMenuSelectedBackground

      public ColorUIResource getMenuSelectedBackground()
      Returns the menu selected background color. This returns the value of getPrimary2().
      Returns:
      the menu selected background color
    • getMenuSelectedForeground

      public ColorUIResource getMenuSelectedForeground()
      Returns the menu selected foreground color. This returns the value of getBlack().
      Returns:
      the menu selected foreground color
    • getMenuDisabledForeground

      public ColorUIResource getMenuDisabledForeground()
      Returns the menu disabled foreground color. This returns the value of getSecondary2().
      Returns:
      the menu disabled foreground color
    • getSeparatorBackground

      public ColorUIResource getSeparatorBackground()
      Returns the separator background color. This returns the value of getWhite().
      Returns:
      the separator background color
    • getSeparatorForeground

      public ColorUIResource getSeparatorForeground()
      Returns the separator foreground color. This returns the value of getPrimary1().
      Returns:
      the separator foreground color
    • getAcceleratorForeground

      public ColorUIResource getAcceleratorForeground()
      Returns the accelerator foreground color. This returns the value of getPrimary1().
      Returns:
      the accelerator foreground color
    • getAcceleratorSelectedForeground

      public ColorUIResource getAcceleratorSelectedForeground()
      Returns the accelerator selected foreground color. This returns the value of getBlack().
      Returns:
      the accelerator selected foreground color
    • addCustomEntriesToTable

      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.

      Parameters:
      table - the UIDefaults to add the values to
      See Also:
      MetalLookAndFeel.getDefaults()