Module java.desktop

Class MetalLookAndFeel

所有已实现的接口:
Serializable

public class MetalLookAndFeel extends BasicLookAndFeel
Java外观,又称为Metal。

MetalLookAndFeel提供的每个ComponentUI都从默认表中获取其行为。除非另有说明,否则此包中的每个ComponentUI实现都记录了它们使用的默认值集。除非另有说明,默认值在调用installUI时安装,并遵循LookAndFeel中概述的建议安装默认值。

MetalLookAndFeelMetalTheme派生其颜色调色板和字体。默认主题是OceanTheme。可以使用setCurrentTheme方法更改主题,请参阅有关更改主题的详细信息。在1.5之前,默认主题是DefaultMetalTheme。系统属性"swing.metalTheme"可以设置为"steel"以指示默认应为DefaultMetalTheme

警告: 此类的序列化对象将与未来的Swing版本不兼容。当前的序列化支持适用于短期存储或在运行相同版本的Swing应用程序之间进行RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参阅XMLEncoder

参见:
  • Constructor Details

    • MetalLookAndFeel

      public MetalLookAndFeel()
      构造一个MetalLookAndFeel
  • Method Details

    • getName

      public String getName()
      返回此外观的名称。这将返回"Metal"
      指定者:
      getName 在类 LookAndFeel
      返回:
      此外观的名称
    • getID

      public String getID()
      返回此外观的标识符。这将返回"Metal"
      指定者:
      getID 在类 LookAndFeel
      返回:
      此外观的标识符
    • getDescription

      public String getDescription()
      返回此外观的简短描述。这将返回"The Java(tm) Look and Feel"
      指定者:
      getDescription 在类 LookAndFeel
      返回:
      此外观的简短描述
    • isNativeLookAndFeel

      public boolean isNativeLookAndFeel()
      返回false; MetalLookAndFeel不是本机外观。
      指定者:
      isNativeLookAndFeel 在类 LookAndFeel
      返回:
      false
    • isSupportedLookAndFeel

      public boolean isSupportedLookAndFeel()
      返回true; MetalLookAndFeel可以在任何平台上运行。
      指定者:
      isSupportedLookAndFeel 在类 LookAndFeel
      返回:
      true
      参见:
    • getSupportsWindowDecorations

      public boolean getSupportsWindowDecorations()
      返回true; Metal可以提供Window装饰。
      覆盖:
      getSupportsWindowDecorations 在类 LookAndFeel
      返回:
      true
      自:
      1.4
      参见:
    • initClassDefaults

      protected void initClassDefaults(UIDefaults table)
      使用uiClassID到ui类的完全限定名称的映射填充tableMetalLookAndFeeljavax.swing.plaf.metal包中命名为MetalXXXUI的每个类注册一个条目。字符串XXX是Swing的uiClassIDs之一。对于在metal中没有类的uiClassIDs,将使用javax.swing.plaf.basic中的相应类。例如,metal没有名为"MetalColorChooserUI"的类,因此使用javax.swing.plaf.basic.BasicColorChooserUI
      覆盖:
      initClassDefaults 在类 BasicLookAndFeel
      参数:
      table - 要添加条目的UIDefaults实例
      抛出:
      NullPointerException - 如果tablenull
      参见:
    • initSystemColorDefaults

      protected void initSystemColorDefaults(UIDefaults table)
      使用系统颜色填充table。以下值将添加到table中:
      Metal的系统颜色映射
      "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对应于当前的MetalTheme
      覆盖:
      initSystemColorDefaults 在类 BasicLookAndFeel
      参数:
      table - 要添加值的UIDefaults对象
      抛出:
      NullPointerException - 如果tablenull
      参见:
    • initComponentDefaults

      protected void initComponentDefaults(UIDefaults table)
      使用默认值填充table以供metal使用。
      覆盖:
      initComponentDefaults 在类 BasicLookAndFeel
      参数:
      table - 要添加值的UIDefaults
      抛出:
      NullPointerException - 如果tablenull
    • createDefaultTheme

      protected void createDefaultTheme()
      确保当前的MetalTheme非null。这是getCurrentTheme的封装方法。
      参见:
    • getDefaults

      public UIDefaults getDefaults()
      返回外观的默认值。按顺序调用createDefaultTheme()super.getDefaults()getCurrentTheme().addCustomEntriesToTable(table)

      虽然此方法是公共的,但应该仅在外观设置为当前外观并且调用了initialize之后由UIManager调用。

      覆盖:
      getDefaults 在类 BasicLookAndFeel
      返回:
      外观的默认值
      参见:
    • provideErrorFeedback

      public void provideErrorFeedback(Component component)
      当用户尝试无效操作(例如粘贴到具有焦点的不可编辑的JTextField)时调用。默认实现会发出哔声。希望提供不同行为的子类应该覆盖此方法并提供额外的反馈。
      覆盖:
      provideErrorFeedback 在类 LookAndFeel
      参数:
      component - 发生错误的Component,可能为null,表示错误条件与Component无直接关联
      自:
      1.4
    • setCurrentTheme

      public static void setCurrentTheme(MetalTheme theme)
      设置MetalLookAndFeel使用的主题。

      设置主题后,需要重新安装MetalLookAndFeel并重新创建UI。以下显示如何执行此操作:

         MetalLookAndFeel.setCurrentTheme(theme);
      
         // 重新安装Metal外观
         UIManager.setLookAndFeel(new MetalLookAndFeel());
      
         // 更新所有组件的ComponentUI。这
         // 需要对所有窗口调用。
         SwingUtilities.updateComponentTreeUI(rootComponent);
       
      如果不这样做,结果是不确定的。
      参数:
      theme - 要使用的主题
      抛出:
      NullPointerException - 如果themenull
      参见:
    • getCurrentTheme

      public static MetalTheme getCurrentTheme()
      返回MetalLookAndFeel当前使用的主题。如果当前主题为null,则创建默认主题。
      返回:
      当前主题
      自:
      1.5
      参见:
    • getDisabledIcon

      public Icon getDisabledIcon(JComponent component, Icon icon)
      返回具有禁用外观的Icon。当未指定禁用Icon时,此方法用于生成禁用Icon。例如,如果创建JButton并仅通过setIcon指定Icon,则将调用此方法生成禁用Icon。如果将icon传递为null,则此方法返回null

      某些外观可能不会呈现禁用的图标,在这种情况下,它们将忽略此操作。

      覆盖:
      getDisabledIcon 在类 LookAndFeel
      参数:
      component - 将显示图标的JComponent,可能为null
      icon - 生成禁用图标的图标。
      返回:
      禁用图标,如果无法生成合适的图标,则返回null
      自:
      1.5
    • getDisabledSelectedIcon

      public Icon getDisabledSelectedIcon(JComponent component, Icon icon)
      返回用于同时处于禁用和选定状态的组件的Icon。此方法用于为处于禁用和选定状态但没有特定Icon的组件生成Icon。例如,如果创建JButton并仅通过setIcon指定Icon,则将调用此方法生成禁用和选定的Icon。如果将icon传递为null,则此方法返回null

      某些外观可能不会呈现禁用和选定的图标,在这种情况下,它们将忽略此操作。

      覆盖:
      getDisabledSelectedIcon 在类 LookAndFeel
      参数:
      component - 将显示图标的 JComponent,可以为 null
      icon - 用于生成禁用和选定图标的图标。
      返回:
      禁用和选定图标,如果无法生成合适的图标则返回 null。
      自:
      1.5
    • getControlTextFont

      public static FontUIResource getControlTextFont()
      返回当前主题的控件文本字体。这是getCurrentTheme().getControlTextColor()的封装方法。
      返回:
      控件文本字体
      参见:
    • getSystemTextFont

      public static FontUIResource getSystemTextFont()
      返回当前主题的系统文本字体。这是getCurrentTheme().getSystemTextFont()的封装方法。
      返回:
      系统文本字体
      参见:
    • getUserTextFont

      public static FontUIResource getUserTextFont()
      返回当前主题的用户文本字体。这是getCurrentTheme().getUserTextFont()的封装方法。
      返回:
      用户文本字体
      参见:
    • getMenuTextFont

      public static FontUIResource getMenuTextFont()
      返回当前主题的菜单文本字体。这是getCurrentTheme().getMenuTextFont()的封装方法。
      返回:
      菜单文本字体
      参见:
    • getWindowTitleFont

      public static FontUIResource getWindowTitleFont()
      返回当前主题的窗口标题字体。这是getCurrentTheme().getWindowTitleFont()的封装方法。
      返回:
      窗口标题字体
      参见:
    • getSubTextFont

      public static FontUIResource getSubTextFont()
      返回当前主题的子文本字体。这是getCurrentTheme().getSubTextFont()的封装方法。
      返回:
      子文本字体
      参见:
    • getDesktopColor

      public static ColorUIResource getDesktopColor()
      返回当前主题的桌面颜色。这是getCurrentTheme().getDesktopColor()的封装方法。
      返回:
      桌面颜色
      参见:
    • getFocusColor

      public static ColorUIResource getFocusColor()
      返回当前主题的焦点颜色。这是getCurrentTheme().getFocusColor()的封装方法。
      返回:
      焦点颜色
      参见:
    • getWhite

      public static ColorUIResource getWhite()
      返回当前主题的白色。这是getCurrentTheme().getWhite()的封装方法。
      返回:
      白色
      参见:
    • getBlack

      public static ColorUIResource getBlack()
      返回当前主题的黑色。这是getCurrentTheme().getBlack()的封装方法。
      返回:
      黑色
      参见:
    • getControl

      public static ColorUIResource getControl()
      返回当前主题的控件颜色。这是getCurrentTheme().getControl()的封装方法。
      返回:
      控件颜色
      参见:
    • getControlShadow

      public static ColorUIResource getControlShadow()
      返回当前主题的控件阴影颜色。这是getCurrentTheme().getControlShadow()的封装方法。
      返回:
      控件阴影颜色
      参见:
    • getControlDarkShadow

      public static ColorUIResource getControlDarkShadow()
      返回当前主题的控件深色阴影颜色。这是getCurrentTheme().getControlDarkShadow()的封装方法。
      返回:
      控件深色阴影颜色
      参见:
    • getControlInfo

      public static ColorUIResource getControlInfo()
      返回当前主题的控件信息颜色。这是getCurrentTheme().getControlInfo()的封装方法。
      返回:
      控件信息颜色
      参见:
    • getControlHighlight

      public static ColorUIResource getControlHighlight()
      返回当前主题的控件高亮颜色。这是getCurrentTheme().getControlHighlight()的封装方法。
      返回:
      控件高亮颜色
      参见:
    • getControlDisabled

      public static ColorUIResource getControlDisabled()
      返回当前主题的控件禁用颜色。这是getCurrentTheme().getControlDisabled()的封装方法。
      返回:
      控件禁用颜色
      参见:
    • getPrimaryControl

      public static ColorUIResource getPrimaryControl()
      返回当前主题的主要控件颜色。这是getCurrentTheme().getPrimaryControl()的封装方法。
      返回:
      主要控件颜色
      参见:
    • getPrimaryControlShadow

      public static ColorUIResource getPrimaryControlShadow()
      返回当前主题的主要控件阴影颜色。这是getCurrentTheme().getPrimaryControlShadow()的封装方法。
      返回:
      主要控件阴影颜色
      参见:
    • getPrimaryControlDarkShadow

      public static ColorUIResource getPrimaryControlDarkShadow()
      返回当前主题的主要控件深色阴影颜色。这是 getCurrentTheme().getPrimaryControlDarkShadow()的封装方法。
      返回:
      主要控件深色阴影颜色
      参见:
    • getPrimaryControlInfo

      public static ColorUIResource getPrimaryControlInfo()
      返回当前主题的主要控件信息颜色。这是getCurrentTheme().getPrimaryControlInfo()的封装方法。
      返回:
      主要控件信息颜色
      参见:
    • getPrimaryControlHighlight

      public static ColorUIResource getPrimaryControlHighlight()
      返回当前主题的主要控件高亮颜色。这是 getCurrentTheme().getPrimaryControlHighlight()的封装方法。
      返回:
      主要控件高亮颜色
      参见:
    • getSystemTextColor

      public static ColorUIResource getSystemTextColor()
      返回当前主题的系统文本颜色。这是getCurrentTheme().getSystemTextColor()的封装方法。
      返回:
      系统文本颜色
      参见:
    • getControlTextColor

      public static ColorUIResource getControlTextColor()
      返回当前主题的控件文本颜色。这是getCurrentTheme().getControlTextColor()的封装方法。
      返回:
      控件文本颜色
      参见:
    • getInactiveControlTextColor

      public static ColorUIResource getInactiveControlTextColor()
      返回当前主题的非活动控件文本颜色。这是 getCurrentTheme().getInactiveControlTextColor()的封装方法。
      返回:
      非活动控件文本颜色
      参见:
    • getInactiveSystemTextColor

      public static ColorUIResource getInactiveSystemTextColor()
      返回当前主题的非活动系统文本颜色。这是 getCurrentTheme().getInactiveSystemTextColor()的封装方法。
      返回:
      非活动系统文本颜色
      参见:
    • getUserTextColor

      public static ColorUIResource getUserTextColor()
      返回当前主题的用户文本颜色。这是getCurrentTheme().getUserTextColor()的封装方法。
      返回:
      用户文本颜色
      参见:
    • getTextHighlightColor

      public static ColorUIResource getTextHighlightColor()
      返回当前主题的文本高亮颜色。这是getCurrentTheme().getTextHighlightColor()的封装方法。
      返回:
      文本高亮颜色
      参见:
    • getHighlightedTextColor

      public static ColorUIResource getHighlightedTextColor()
      返回当前主题的突出显示文本颜色。这是getCurrentTheme().getHighlightedTextColor()的封装方法。
      返回:
      突出显示文本颜色
      参见:
    • getWindowBackground

      public static ColorUIResource getWindowBackground()
      返回当前主题的窗口背景颜色。这是getCurrentTheme().getWindowBackground()的封装方法。
      返回:
      窗口背景颜色
      参见:
    • getWindowTitleBackground

      public static ColorUIResource getWindowTitleBackground()
      返回当前主题的窗口标题背景颜色。这是 getCurrentTheme().getWindowTitleBackground()的封装方法。
      返回:
      窗口标题背景颜色
      参见:
    • getWindowTitleForeground

      public static ColorUIResource getWindowTitleForeground()
      返回当前主题的窗口标题前景颜色。这是 getCurrentTheme().getWindowTitleForeground()的封装方法。
      返回:
      窗口标题前景颜色
      参见:
    • getWindowTitleInactiveBackground

      public static ColorUIResource getWindowTitleInactiveBackground()
      返回当前主题的窗口标题非活动背景颜色。这是 getCurrentTheme().getWindowTitleInactiveBackground()的封装方法。
      返回:
      窗口标题非活动背景颜色
      参见:
    • getWindowTitleInactiveForeground

      public static ColorUIResource getWindowTitleInactiveForeground()
      返回当前主题的窗口标题非活动前景颜色。这是 getCurrentTheme().getWindowTitleInactiveForeground()的封装方法。
      返回:
      窗口标题非活动前景颜色
      参见:
    • getMenuBackground

      public static ColorUIResource getMenuBackground()
      返回当前主题的菜单背景颜色。这是getCurrentTheme().getMenuBackground()的封装方法。
      返回:
      菜单背景颜色
      参见:
    • getMenuForeground

      public static ColorUIResource getMenuForeground()
      返回当前主题的菜单前景颜色。这是getCurrentTheme().getMenuForeground()的封装方法。
      返回:
      菜单前景颜色
      参见:
    • getMenuSelectedBackground

      public static ColorUIResource getMenuSelectedBackground()
      返回当前主题的菜单选定背景颜色。这是getCurrentTheme().getMenuSelectedBackground()的封装方法。
      返回:
      菜单选定背景颜色
      参见:
    • getMenuSelectedForeground

      public static ColorUIResource getMenuSelectedForeground()
      返回当前主题的菜单选定前景颜色。这是getCurrentTheme().getMenuSelectedForeground()的封装方法。
      返回:
      菜单选定前景颜色
      参见:
    • getMenuDisabledForeground

      public static ColorUIResource getMenuDisabledForeground()
      返回当前主题的菜单禁用前景颜色。这是getCurrentTheme().getMenuDisabledForeground()的封装方法。
      返回:
      菜单禁用前景颜色
      参见:
    • getSeparatorBackground

      public static ColorUIResource getSeparatorBackground()
      返回当前主题的分隔符背景颜色。这是getCurrentTheme().getSeparatorBackground()的封装方法。
      返回:
      分隔符背景颜色
      参见:
    • getSeparatorForeground

      public static ColorUIResource getSeparatorForeground()
      返回当前主题的分隔符前景颜色。这是getCurrentTheme().getSeparatorForeground()的封装方法。
      返回:
      分隔符前景颜色
      参见:
    • getAcceleratorForeground

      public static ColorUIResource getAcceleratorForeground()
      返回当前主题的加速键前景颜色。这是getCurrentTheme().getAcceleratorForeground()的封装方法。
      返回:
      加速键前景颜色
      参见:
    • getAcceleratorSelectedForeground

      public static ColorUIResource getAcceleratorSelectedForeground()
      返回当前主题的选定加速键前景颜色。这是 getCurrentTheme().getAcceleratorSelectedForeground()的封装方法。
      返回:
      选定加速键前景颜色
      参见:
    • getLayoutStyle

      public LayoutStyle getLayoutStyle()
      返回实现Java外观设计准则的LayoutStyle
      覆盖:
      getLayoutStyle 在类 LookAndFeel
      返回:
      实现Java外观设计准则的LayoutStyle
      自:
      1.6
      参见: