Module java.desktop

Class MetalTheme

java.lang.Object
javax.swing.plaf.metal.MetalTheme
直接已知的子类:
DefaultMetalTheme

public abstract class MetalTheme extends Object
MetalTheme提供了Java外观所使用的颜色调色板和字体。

MetalTheme是抽象的,参见DefaultMetalThemeOceanTheme以获取具体实现。

MetalLookAndFeel维护了当前主题,供金属外观的ComponentUI实现使用。参考MetalLookAndFeel.setCurrentTheme(MetalTheme)以了解如何更改当前主题的详细信息。

MetalTheme提供了一些公共方法来获取颜色。这些方法是根据少量受保护的抽象方法实现的。子类只需覆盖受保护的抽象方法(getPrimary1getPrimary2getPrimary3getSecondary1getSecondary2getSecondary3);尽管子类可以覆盖其他公共方法以更好地控制使用的颜色集。

MetalTheme的具体实现必须从所有方法返回非null值。虽然未指定返回null的行为,但返回null将导致不正确的行为。

强烈建议子类返回完全不透明的颜色。否则可能会导致渲染问题,如视觉垃圾。

参见:
  • Constructor Details

    • MetalTheme

      protected MetalTheme()
      子类调用的构造函数。
  • Method Details

    • getName

      public abstract String getName()
      返回此主题的名称。
      返回:
      此主题的名称
    • getPrimary1

      protected abstract ColorUIResource getPrimary1()
      返回主要1颜色。
      返回:
      主要1颜色
    • getPrimary2

      protected abstract ColorUIResource getPrimary2()
      返回主要2颜色。
      返回:
      主要2颜色
    • getPrimary3

      protected abstract ColorUIResource getPrimary3()
      返回主要3颜色。
      返回:
      主要3颜色
    • getSecondary1

      protected abstract ColorUIResource getSecondary1()
      返回次要1颜色。
      返回:
      次要1颜色
    • getSecondary2

      protected abstract ColorUIResource getSecondary2()
      返回次要2颜色。
      返回:
      次要2颜色
    • getSecondary3

      protected abstract ColorUIResource getSecondary3()
      返回次要3颜色。
      返回:
      次要3颜色
    • getControlTextFont

      public abstract FontUIResource getControlTextFont()
      返回控件文本字体。
      返回:
      控件文本字体
    • getSystemTextFont

      public abstract FontUIResource getSystemTextFont()
      返回系统文本字体。
      返回:
      系统文本字体
    • getUserTextFont

      public abstract FontUIResource getUserTextFont()
      返回用户文本字体。
      返回:
      用户文本字体
    • getMenuTextFont

      public abstract FontUIResource getMenuTextFont()
      返回菜单文本字体。
      返回:
      菜单文本字体
    • getWindowTitleFont

      public abstract FontUIResource getWindowTitleFont()
      返回窗口标题字体。
      返回:
      窗口标题字体
    • getSubTextFont

      public abstract FontUIResource getSubTextFont()
      返回子文本字体。
      返回:
      子文本字体
    • getWhite

      protected ColorUIResource getWhite()
      返回白色。这将返回不透明的白色(0xFFFFFFFF)。
      返回:
      白色
    • getBlack

      protected ColorUIResource getBlack()
      返回黑色。这将返回不透明的黑色(0xFF000000)。
      返回:
      黑色
    • getFocusColor

      public ColorUIResource getFocusColor()
      返回焦点颜色。这将返回getPrimary2()的值。
      返回:
      焦点颜色
    • getDesktopColor

      public ColorUIResource getDesktopColor()
      返回桌面颜色。这将返回getPrimary2()的值。
      返回:
      桌面颜色
    • getControl

      public ColorUIResource getControl()
      返回控件颜色。这将返回getSecondary3()的值。
      返回:
      控件颜色
    • getControlShadow

      public ColorUIResource getControlShadow()
      返回控件阴影颜色。这将返回getSecondary2()的值。
      返回:
      控件阴影颜色
    • getControlDarkShadow

      public ColorUIResource getControlDarkShadow()
      返回控件深阴影颜色。这将返回getSecondary1()的值。
      返回:
      控件深阴影颜色
    • getControlInfo

      public ColorUIResource getControlInfo()
      返回控件信息颜色。这将返回getBlack()的值。
      返回:
      控件信息颜色
    • getControlHighlight

      public ColorUIResource getControlHighlight()
      返回控件高亮颜色。这将返回getWhite()的值。
      返回:
      控件高亮颜色
    • getControlDisabled

      public ColorUIResource getControlDisabled()
      返回控件禁用颜色。这将返回getSecondary2()的值。
      返回:
      控件禁用颜色
    • getPrimaryControl

      public ColorUIResource getPrimaryControl()
      返回主要控件颜色。这将返回getPrimary3()的值。
      返回:
      主要控件颜色
    • getPrimaryControlShadow

      public ColorUIResource getPrimaryControlShadow()
      返回主要控件阴影颜色。这将返回getPrimary2()的值。
      返回:
      主要控件阴影颜色
    • getPrimaryControlDarkShadow

      public ColorUIResource getPrimaryControlDarkShadow()
      返回主要控件深阴影颜色。这将返回getPrimary1()的值。
      返回:
      主要控件深阴影颜色
    • getPrimaryControlInfo

      public ColorUIResource getPrimaryControlInfo()
      返回主要控件信息颜色。这将返回getBlack()的值。
      返回:
      主要控件信息颜色
    • getPrimaryControlHighlight

      public ColorUIResource getPrimaryControlHighlight()
      返回主要控件高亮颜色。这将返回getWhite()的值。
      返回:
      主要控件高亮颜色
    • getSystemTextColor

      public ColorUIResource getSystemTextColor()
      返回系统文本颜色。这将返回getBlack()的值。
      返回:
      系统文本颜色
    • getControlTextColor

      public ColorUIResource getControlTextColor()
      返回控件文本颜色。这将返回getControlInfo()的值。
      返回:
      控件文本颜色
    • getInactiveControlTextColor

      public ColorUIResource getInactiveControlTextColor()
      返回非活动控件文本颜色。这将返回getControlDisabled()的值。
      返回:
      非活动控件文本颜色
    • getInactiveSystemTextColor

      public ColorUIResource getInactiveSystemTextColor()
      返回非活动系统文本颜色。这将返回getSecondary2()的值。
      返回:
      非活动系统文本颜色
    • getUserTextColor

      public ColorUIResource getUserTextColor()
      返回用户文本颜色。这将返回getBlack()的值。
      返回:
      用户文本颜色
    • getTextHighlightColor

      public ColorUIResource getTextHighlightColor()
      返回文本高亮颜色。这返回getPrimary3()的值。
      返回:
      文本高亮颜色
    • getHighlightedTextColor

      public ColorUIResource getHighlightedTextColor()
      返回高亮文本颜色。这返回getControlTextColor()的值。
      返回:
      高亮文本颜色
    • getWindowBackground

      public ColorUIResource getWindowBackground()
      返回窗口背景颜色。这返回getWhite()的值。
      返回:
      窗口背景颜色
    • getWindowTitleBackground

      public ColorUIResource getWindowTitleBackground()
      返回窗口标题背景颜色。这返回getPrimary3()的值。
      返回:
      窗口标题背景颜色
    • getWindowTitleForeground

      public ColorUIResource getWindowTitleForeground()
      返回窗口标题前景颜色。这返回getBlack()的值。
      返回:
      窗口标题前景颜色
    • getWindowTitleInactiveBackground

      public ColorUIResource getWindowTitleInactiveBackground()
      返回窗口标题非活动背景颜色。这返回getSecondary3()的值。
      返回:
      窗口标题非活动背景颜色
    • getWindowTitleInactiveForeground

      public ColorUIResource getWindowTitleInactiveForeground()
      返回窗口标题非活动前景颜色。这返回getBlack()的值。
      返回:
      窗口标题非活动前景颜色
    • getMenuBackground

      public ColorUIResource getMenuBackground()
      返回菜单背景颜色。这返回getSecondary3()的值。
      返回:
      菜单背景颜色
    • getMenuForeground

      public ColorUIResource getMenuForeground()
      返回菜单前景颜色。这返回getBlack()的值。
      返回:
      菜单前景颜色
    • getMenuSelectedBackground

      public ColorUIResource getMenuSelectedBackground()
      返回菜单选中背景颜色。这返回getPrimary2()的值。
      返回:
      菜单选中背景颜色
    • getMenuSelectedForeground

      public ColorUIResource getMenuSelectedForeground()
      返回菜单选中前景颜色。这返回getBlack()的值。
      返回:
      菜单选中前景颜色
    • getMenuDisabledForeground

      public ColorUIResource getMenuDisabledForeground()
      返回菜单禁用前景颜色。这返回getSecondary2()的值。
      返回:
      菜单禁用前景颜色
    • getSeparatorBackground

      public ColorUIResource getSeparatorBackground()
      返回分隔符背景颜色。这返回getWhite()的值。
      返回:
      分隔符背景颜色
    • getSeparatorForeground

      public ColorUIResource getSeparatorForeground()
      返回分隔符前景颜色。这返回getPrimary1()的值。
      返回:
      分隔符前景颜色
    • getAcceleratorForeground

      public ColorUIResource getAcceleratorForeground()
      返回加速键前景颜色。这返回getPrimary1()的值。
      返回:
      加速键前景颜色
    • getAcceleratorSelectedForeground

      public ColorUIResource getAcceleratorSelectedForeground()
      返回选中加速键前景颜色。这返回getBlack()的值。
      返回:
      选中加速键前景颜色
    • addCustomEntriesToTable

      public void addCustomEntriesToTable(UIDefaults table)
      将特定于此主题的值添加到默认表中。当从MetalLookAndFeel获取外观和感觉默认值时,将调用此方法。

      此实现不执行任何操作;它提供给希望自定义默认表的子类。

      参数:
      table - 要添加值的UIDefaults
      参见: