JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.plaf.metal
类 MetalLookAndFeel

java.lang.Object
  继承者 javax.swing.LookAndFeel
      继承者 javax.swing.plaf.basic.BasicLookAndFeel
          继承者 javax.swing.plaf.metal.MetalLookAndFeel
所有已实现的接口:
Serializable

public class MetalLookAndFeel
extends BasicLookAndFeel

实现 Java 外观(代号:Metal)。

默认情况下,metal 对许多控件使用粗体。要使所有控件(内部窗体标题栏和客户端已装饰窗体标题栏除外)使用普通字体,可以执行以下操作之一:

默认属性 swing.boldMetal(如果已设置)优先于同名的系统属性。在设置此默认属性后,需要重新安装 MetalLookAndFeel,并更新所有以前创建的窗口小部件的 UI。否则结果是不确定的。以下这些代码行将展示如何实现这一点:
   // turn off bold fonts
   UIManager.put("swing.boldMetal", Boolean.FALSE);

   // re-install the Metal Look and Feel
   UIManager.setLookAndFeel(new MetalLookAndFeel());

   // only needed to update existing widgets
   SwingUtilities.updateComponentTreeUI(rootComponent);
 

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


构造方法摘要
MetalLookAndFeel()
           
 
方法摘要
protected  void createDefaultTheme()
           
static ColorUIResource getAcceleratorForeground()
           
static ColorUIResource getAcceleratorSelectedForeground()
           
static ColorUIResource getBlack()
           
static ColorUIResource getControl()
           
static ColorUIResource getControlDarkShadow()
           
static ColorUIResource getControlDisabled()
           
static ColorUIResource getControlHighlight()
           
static ColorUIResource getControlInfo()
           
static ColorUIResource getControlShadow()
           
static ColorUIResource getControlTextColor()
           
static FontUIResource getControlTextFont()
           
static MetalTheme getCurrentTheme()
          返回 MetalLookAndFeel 当前正在使用的主题。
 UIDefaults getDefaults()
          此方法由 UIManager.setLookAndFeel 调用一次以创建特定于外观的默认表。
 String getDescription()
          返回对此外观实现的单行描述,例如,"The CDE/Motif Look and Feel"。
static ColorUIResource getDesktopColor()
           
 Icon getDisabledIcon(JComponent component, Icon icon)
          返回具有禁用外观的 Icon
 Icon getDisabledSelectedIcon(JComponent component, Icon icon)
          返回由选定的禁用组件使用的 Icon
static ColorUIResource getFocusColor()
           
static ColorUIResource getHighlightedTextColor()
           
 String getID()
          返回标识此外观的字符串。
static ColorUIResource getInactiveControlTextColor()
           
static ColorUIResource getInactiveSystemTextColor()
           
static ColorUIResource getMenuBackground()
           
static ColorUIResource getMenuDisabledForeground()
           
static ColorUIResource getMenuForeground()
           
static ColorUIResource getMenuSelectedBackground()
           
static ColorUIResource getMenuSelectedForeground()
           
static FontUIResource getMenuTextFont()
           
 String getName()
          返回标识此外观的短字符串,例如 "CDE/Motif"。
static ColorUIResource getPrimaryControl()
           
static ColorUIResource getPrimaryControlDarkShadow()
           
static ColorUIResource getPrimaryControlHighlight()
           
static ColorUIResource getPrimaryControlInfo()
           
static ColorUIResource getPrimaryControlShadow()
           
static ColorUIResource getSeparatorBackground()
           
static ColorUIResource getSeparatorForeground()
           
static FontUIResource getSubTextFont()
           
 boolean getSupportsWindowDecorations()
          如果 RootPaneUI 实例返回的 LookAndFeel 支持在 JRootPane 中提供 Window 装饰,则返回 true。
static ColorUIResource getSystemTextColor()
           
static FontUIResource getSystemTextFont()
           
static ColorUIResource getTextHighlightColor()
           
static ColorUIResource getUserTextColor()
           
static FontUIResource getUserTextFont()
           
static ColorUIResource getWhite()
           
static ColorUIResource getWindowBackground()
           
static ColorUIResource getWindowTitleBackground()
           
static FontUIResource getWindowTitleFont()
           
static ColorUIResource getWindowTitleForeground()
           
static ColorUIResource getWindowTitleInactiveBackground()
           
static ColorUIResource getWindowTitleInactiveForeground()
           
protected  void initClassDefaults(UIDefaults table)
          创建从 UI 类 ID 到 ComponentUI 类的映射关系,将 ID-ComponentUI 对放入传入的默认值表中。
protected  void initComponentDefaults(UIDefaults table)
           
protected  void initSystemColorDefaults(UIDefaults table)
          将 SystemColor 加载到默认值表中。
 boolean isNativeLookAndFeel()
          如果基础平台具有“本机”外观,而且这是对它的一个实现,则返回 true。
 boolean isSupportedLookAndFeel()
          如果基础平台支持和/或允许此外观,则返回 true。
 void provideErrorFeedback(Component component)
           在用户尝试一个无效操作时调用,例如,在拥有焦点的、不可编辑的 JTextField 中进行粘贴。
static void setCurrentTheme(MetalTheme theme)
          设置将由 MetalLookAndFeel 使用的主题。
 
从类 javax.swing.plaf.basic.BasicLookAndFeel 继承的方法
createAudioAction, getAudioActionMap, initialize, loadSystemColors, playSound, uninitialize
 
从类 javax.swing.LookAndFeel 继承的方法
getDesktopPropertyValue, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, toString, uninstallBorder
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

MetalLookAndFeel

public MetalLookAndFeel()
方法详细信息

getName

public String getName()
从类 LookAndFeel 复制的描述
返回标识此外观的短字符串,例如 "CDE/Motif"。此字符串应适合于菜单项。不同的外观应具有不同的名称,例如,更改某些组件呈现方式的 MotifLookAndFeel 的子类应称为 "CDE/Motif My Way";这对从名称列表中选择外观的用户非常有用。

指定者:
LookAndFeel 中的 getName

getID

public String getID()
从类 LookAndFeel 复制的描述
返回标识此外观的字符串。此字符串将由希望识别著名外观实现的应用程序/服务使用。目前著名的名称有“Motif”、“Windows”、“Mac”和“Metal”。注意,由未对外观进行任何基本更改的著名超类派生的 LookAndFeel 不应重写此方法。

指定者:
LookAndFeel 中的 getID

getDescription

public String getDescription()
从类 LookAndFeel 复制的描述
返回对此外观实现的单行描述,例如,"The CDE/Motif Look and Feel"。此字符串供用户使用,例如,在窗口的标题中或在 ToolTip 消息中使用。

指定者:
LookAndFeel 中的 getDescription

isNativeLookAndFeel

public boolean isNativeLookAndFeel()
从类 LookAndFeel 复制的描述
如果基础平台具有“本机”外观,而且这是对它的一个实现,则返回 true。例如,在基础平台为 Solaris 时,CDE/Motif 的外观和实现将返回 true。

指定者:
LookAndFeel 中的 isNativeLookAndFeel

isSupportedLookAndFeel

public boolean isSupportedLookAndFeel()
从类 LookAndFeel 复制的描述
如果基础平台支持和/或允许此外观,则返回 true。如果外观取决于特定资源或未为当前平台定义的合法协议,则此方法返回 false。

指定者:
LookAndFeel 中的 isSupportedLookAndFeel
另请参见:
UIManager.setLookAndFeel(javax.swing.LookAndFeel)

getSupportsWindowDecorations

public boolean getSupportsWindowDecorations()
如果 RootPaneUI 实例返回的 LookAndFeel 支持在 JRootPane 中提供 Window 装饰,则返回 true。

此实现返回 true,因为它确实支持提供这些边框和窗口标题窗格装饰。

覆盖:
LookAndFeel 中的 getSupportsWindowDecorations
返回:
如果创建的 RootPaneUI 实例支持客户端装饰,则返回 True
从以下版本开始:
1.4
另请参见:
JDialog.setDefaultLookAndFeelDecorated(boolean), JFrame.setDefaultLookAndFeelDecorated(boolean), JRootPane.setWindowDecorationStyle(int)

initClassDefaults

protected void initClassDefaults(UIDefaults table)
创建从 UI 类 ID 到 ComponentUI 类的映射关系,将 ID-ComponentUI 对放入传入的默认值表中。每个 JComponent 类都指定自己的 UI 类 ID 字符串。例如,JButton 拥有 UI 类 ID "ButtonUI",此方法将它映射到 "javax.swing.plaf.metal.MetalButtonUI"。

覆盖:
BasicLookAndFeel 中的 initClassDefaults
另请参见:
BasicLookAndFeel.getDefaults(), JComponent.getUIClassID()

initSystemColorDefaults

protected void initSystemColorDefaults(UIDefaults table)
将 SystemColor 加载到默认值表中。SystemColor 默认值的键与 SystemColor 中公共字段的名称相同。

覆盖:
BasicLookAndFeel 中的 initSystemColorDefaults

initComponentDefaults

protected void initComponentDefaults(UIDefaults table)
覆盖:
BasicLookAndFeel 中的 initComponentDefaults

createDefaultTheme

protected void createDefaultTheme()

getDefaults

public UIDefaults getDefaults()
从类 LookAndFeel 复制的描述
此方法由 UIManager.setLookAndFeel 调用一次以创建特定于外观的默认表。其他应用程序(例如应用程序生成器)也可以调用此方法。

覆盖:
BasicLookAndFeel 中的 getDefaults
另请参见:
LookAndFeel.initialize(), LookAndFeel.uninitialize(), UIManager.setLookAndFeel(javax.swing.LookAndFeel)

provideErrorFeedback

public void provideErrorFeedback(Component component)

在用户尝试一个无效操作时调用,例如,在拥有焦点的、不可编辑的 JTextField 中进行粘贴。

如果用户已在桌面上启用可见错误指示,则此方法将 flash 活动窗口的标题栏。用户还可以设置属性 awt.visualbell=true 来得到相同的结果。

覆盖:
LookAndFeel 中的 provideErrorFeedback
参数:
component - 发生错误的 Component,可以为 null,指示错误条件与某个 Component 并无直接关联。
另请参见:
LookAndFeel.provideErrorFeedback(java.awt.Component)

setCurrentTheme

public static void setCurrentTheme(MetalTheme theme)
设置将由 MetalLookAndFeel 使用的主题。此参数不可以为 null。
在设置主题后,需要重新安装 MetalLookAndFeel,并更新所有以前创建的窗口小部件的 UI。否则结果是不确定的。以下这些代码行将展示如何实现这一点:
   // turn off bold fonts
   MetalLookAndFeel.setCurrentTheme(theme);

   // re-install the Metal Look and Feel
   UIManager.setLookAndFeel(new MetalLookAndFeel());

   // only needed to update existing widgets
   SwingUtilities.updateComponentTreeUI(rootComponent);
 

参数:
theme - 要使用的主题,该参数非 null
抛出:
NullPointerException - 如果给出一个 null 参数
另请参见:
getCurrentTheme()

getCurrentTheme

public static MetalTheme getCurrentTheme()
返回 MetalLookAndFeel 当前正在使用的主题。此主题总是为非 null,因为如果没有设置主题,它将设置当前主题。

返回:
当前主题
从以下版本开始:
1.5
另请参见:
setCurrentTheme(javax.swing.plaf.metal.MetalTheme)

getDisabledIcon

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

某些外观可能无法呈现禁用图标,在此情况下,外观将忽略此图标。

覆盖:
LookAndFeel 中的 getDisabledIcon
参数:
component - 将显示 Icon 的 JComponent,可以为 null
icon - 从其生成禁用图标的 Icon。
返回:
禁用图标;如果无法生成合适的 Icon,则返回 null。
从以下版本开始:
1.5

getDisabledSelectedIcon

public Icon getDisabledSelectedIcon(JComponent component,
                                    Icon icon)
返回由选定的禁用组件使用的 Icon。此方法用于为以下情况的组件生成一个 Icon:这些组件均为禁用和选中状态,但没有此状态的指定 Icon。例如,如果创建了一个 JButton,并通过 setIcon 仅指定了一个 Icon,则会调用此方法来生成被禁用和选定的 Icon。如果将 null 作为 icon 传递,则此方法返回 null。

有些外观可能不呈现禁用和选中的 Icon,在此情况下这些外观将忽略它。

覆盖:
LookAndFeel 中的 getDisabledSelectedIcon
参数:
component - 将显示 Icon 的 JComponent,可以为 null
icon - 从其生成禁用和选中图标的 Icon。
返回:
禁用和选中的图标,如果可以生成合适的 Icon,则返回 null。
从以下版本开始:
1.5

getControlTextFont

public static FontUIResource getControlTextFont()

getSystemTextFont

public static FontUIResource getSystemTextFont()

getUserTextFont

public static FontUIResource getUserTextFont()

getMenuTextFont

public static FontUIResource getMenuTextFont()

getWindowTitleFont

public static FontUIResource getWindowTitleFont()

getSubTextFont

public static FontUIResource getSubTextFont()

getDesktopColor

public static ColorUIResource getDesktopColor()

getFocusColor

public static ColorUIResource getFocusColor()

getWhite

public static ColorUIResource getWhite()

getBlack

public static ColorUIResource getBlack()

getControl

public static ColorUIResource getControl()

getControlShadow

public static ColorUIResource getControlShadow()

getControlDarkShadow

public static ColorUIResource getControlDarkShadow()

getControlInfo

public static ColorUIResource getControlInfo()

getControlHighlight

public static ColorUIResource getControlHighlight()

getControlDisabled

public static ColorUIResource getControlDisabled()

getPrimaryControl

public static ColorUIResource getPrimaryControl()

getPrimaryControlShadow

public static ColorUIResource getPrimaryControlShadow()

getPrimaryControlDarkShadow

public static ColorUIResource getPrimaryControlDarkShadow()

getPrimaryControlInfo

public static ColorUIResource getPrimaryControlInfo()

getPrimaryControlHighlight

public static ColorUIResource getPrimaryControlHighlight()

getSystemTextColor

public static ColorUIResource getSystemTextColor()

getControlTextColor

public static ColorUIResource getControlTextColor()

getInactiveControlTextColor

public static ColorUIResource getInactiveControlTextColor()

getInactiveSystemTextColor

public static ColorUIResource getInactiveSystemTextColor()

getUserTextColor

public static ColorUIResource getUserTextColor()

getTextHighlightColor

public static ColorUIResource getTextHighlightColor()

getHighlightedTextColor

public static ColorUIResource getHighlightedTextColor()

getWindowBackground

public static ColorUIResource getWindowBackground()

getWindowTitleBackground

public static ColorUIResource getWindowTitleBackground()

getWindowTitleForeground

public static ColorUIResource getWindowTitleForeground()

getWindowTitleInactiveBackground

public static ColorUIResource getWindowTitleInactiveBackground()

getWindowTitleInactiveForeground

public static ColorUIResource getWindowTitleInactiveForeground()

getMenuBackground

public static ColorUIResource getMenuBackground()

getMenuForeground

public static ColorUIResource getMenuForeground()

getMenuSelectedBackground

public static ColorUIResource getMenuSelectedBackground()

getMenuSelectedForeground

public static ColorUIResource getMenuSelectedForeground()

getMenuDisabledForeground

public static ColorUIResource getMenuDisabledForeground()

getSeparatorBackground

public static ColorUIResource getSeparatorBackground()

getSeparatorForeground

public static ColorUIResource getSeparatorForeground()

getAcceleratorForeground

public static ColorUIResource getAcceleratorForeground()

getAcceleratorSelectedForeground

public static ColorUIResource getAcceleratorSelectedForeground()

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策