|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.LookAndFeel javax.swing.plaf.basic.BasicLookAndFeel javax.swing.plaf.metal.MetalLookAndFeel
public class MetalLookAndFeel
Java 外觀,也稱為 Metal。
每個由 MetalLookAndFeel
提供的 ComponentUI
從預設表中派生其行為。除非另行說明,否則此套件中每個 ComponentUI
實作都記錄它們所使用的預設值集合。除非另行說明,否則調用 installUI
時,將安裝預設值並遵循 LookAndFeel
中描述的安裝預設值的建議。
MetalLookAndFeel
從 MetalTheme
派生其調色板和字體。預設主題為 OceanTheme
。可以使用 setCurrentTheme
方法更改主題,有關更改主題的詳細資訊,請參閱該方法。在 1.5 之前,預設主題為 DefaultMetalTheme
。可以將系統屬性 "swing.metalTheme"
設置為 "steel"
,指示預設主題應該為 DefaultMetalTheme
。
警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
MetalTheme
,
DefaultMetalTheme
,
OceanTheme
建構子摘要 | |
---|---|
MetalLookAndFeel()
|
從類別 javax.swing.plaf.basic.BasicLookAndFeel 繼承的方法 |
---|
createAudioAction, getAudioActionMap, initialize, loadSystemColors, playSound, uninitialize |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public MetalLookAndFeel()
方法詳細資訊 |
---|
public String getName()
"Metal"
。
LookAndFeel
中的 getName
public String getID()
"Metal"
。
LookAndFeel
中的 getID
public String getDescription()
"The Java(tm) Look and Feel"
。
LookAndFeel
中的 getDescription
public boolean isNativeLookAndFeel()
false
;MetalLookAndFeel
不是本機外觀。
LookAndFeel
中的 isNativeLookAndFeel
false
public boolean isSupportedLookAndFeel()
true
;可以在任意平臺上運行 MetalLookAndFeel
。
LookAndFeel
中的 isSupportedLookAndFeel
true
UIManager.setLookAndFeel(javax.swing.LookAndFeel)
public boolean getSupportsWindowDecorations()
true
; metal 可以提供 Window
裝飾。
LookAndFeel
中的 getSupportsWindowDecorations
true
JDialog.setDefaultLookAndFeelDecorated(boolean)
,
JFrame.setDefaultLookAndFeelDecorated(boolean)
,
JRootPane.setWindowDecorationStyle(int)
protected void initClassDefaults(UIDefaults table)
uiClassID
到 ui 類別完全限定名的映射關係填充 table
。MetalLookAndFeel
在名為 MetalXXXUI 的 javax.swing.plaf.metal
套件為每個類別註冊一個條目。字元串 XXX
為 Swing 的一個 uiClassID。對於在 metal 中沒有類別的 uiClassID
,使用 javax.swing.plaf.basic
中對應的類別。例如,metal 沒有名為 "MetalColorChooserUI"
的類別,這種情況下使用 javax.swing.plaf.basic.BasicColorChooserUI
。
BasicLookAndFeel
中的 initClassDefaults
table
- 要添加條目的 UIDefaults
實例
NullPointerException
- 如果 table
為 null
BasicLookAndFeel.initClassDefaults(javax.swing.UIDefaults)
protected void initSystemColorDefaults(UIDefaults table)
table
。將以下值添加到 table
:
Key | Value |
---|---|
"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
。
BasicLookAndFeel
中的 initSystemColorDefaults
table
- 要添加值的 UIDefaults
物件
NullPointerException
- 如果 table
為 null
SystemColor
,
BasicLookAndFeel.getDefaults()
,
BasicLookAndFeel.loadSystemColors(javax.swing.UIDefaults, java.lang.String[], boolean)
protected void initComponentDefaults(UIDefaults table)
table
。
BasicLookAndFeel
中的 initComponentDefaults
table
- 要添加值的 UIDefaults
NullPointerException
- 如果 table
為 null
protected void createDefaultTheme()
MetalTheme
為非 null
。此方法是 getCurrentTheme
的覆寫方法。
getCurrentTheme()
public UIDefaults getDefaults()
createDefaultTheme()
、super.getDefaults()
和 getCurrentTheme().addCustomEntriesToTable(table)
。
雖然此方法是公共方法,但只當外觀被設置為當前外觀並調用了 initialize
之後才應該由 UIManager
調用此方法。
BasicLookAndFeel
中的 getDefaults
createDefaultTheme()
,
BasicLookAndFeel.getDefaults()
,
MetalTheme.addCustomEntriesToTable(UIDefaults)
public void provideErrorFeedback(Component component)
JTextField
中進行粘貼。預設實作蜂鳴。期待不同行為的子類別應覆寫它,並提供其他的反饋。
LookAndFeel
中的 provideErrorFeedback
component
- 其中發生錯誤的 Component
,可以為 null
,指示錯誤條件與某個 Component
並無直接關聯public static void setCurrentTheme(MetalTheme theme)
MetalLookAndFeel
使用的主題。
設置主題後,需要重新安裝 MetalLookAndFeel
並重新創建 ui。以下程式碼說明了如何完成此操作:
MetalLookAndFeel.setCurrentTheme(theme); // re-install the Metal Look and Feel UIManager.setLookAndFeel(new MetalLookAndFeel()); // Update the ComponentUIs for all Components. This // needs to be invoked for all windows. SwingUtilities.updateComponentTreeUI(rootComponent);如果此操作未完成,則結果是不確定的。
theme
- 要使用的主題
NullPointerException
- 如果 theme
為 null
getCurrentTheme()
public static MetalTheme getCurrentTheme()
MetalLookAndFeel
當前正在使用的主題。如果當前主題為 null
,則創建預設主題。
setCurrentTheme(javax.swing.plaf.metal.MetalTheme)
public Icon getDisabledIcon(JComponent component, Icon icon)
Icon
。此方法用於在未指定圖標時產生被禁用的 Icon
。例如,如果創建了一個 JButton
,並通過 setIcon
僅指定了一個 Icon
,則會調用此方法來產生禁用的 Icon
。如果將 null 作為 icon
傳遞,則此方法返回 null。
某些外觀可能無法呈現禁用圖標,在此情況下,外觀將忽略此圖標。
LookAndFeel
中的 getDisabledIcon
component
- 將顯示 Icon 的 JComponent,可以為 nullicon
- 從其產生禁用圖標的 Icon。
public Icon getDisabledSelectedIcon(JComponent component, Icon icon)
Icon
。此方法用於為以下情況的元件產生一個 Icon
:這些元件均為禁用和選中狀態,但沒有此狀態的指定 Icon
。例如,如果創建了一個 JButton
,並通過 setIcon
僅指定了一個 Icon
,則會調用此方法來產生被禁用和選中的 Icon
。如果將 null 作為 icon
傳遞,則此方法返回 null。
有些外觀可能不呈現禁用和選中的 Icon,在此情況下這些外觀將忽略它。
LookAndFeel
中的 getDisabledSelectedIcon
component
- 將顯示 Icon 的 JComponent,可以為 nullicon
- 從其產生禁用和選中圖標的 Icon。
public static FontUIResource getControlTextFont()
getCurrentTheme().getControlTextColor()
的覆寫方法。
MetalTheme
public static FontUIResource getSystemTextFont()
getCurrentTheme().getSystemTextFont()
的覆寫方法。
MetalTheme
public static FontUIResource getUserTextFont()
getCurrentTheme().getUserTextFont()
的覆寫方法。
MetalTheme
public static FontUIResource getMenuTextFont()
getCurrentTheme().getMenuTextFont()
的覆寫方法。
MetalTheme
public static FontUIResource getWindowTitleFont()
getCurrentTheme().getWindowTitleFont()
的覆寫方法。
MetalTheme
public static FontUIResource getSubTextFont()
getCurrentTheme().getSubTextFont()
的覆寫方法。
MetalTheme
public static ColorUIResource getDesktopColor()
getCurrentTheme().getDesktopColor()
的覆寫方法。
MetalTheme
public static ColorUIResource getFocusColor()
getCurrentTheme().getFocusColor()
的覆寫方法。
MetalTheme
public static ColorUIResource getWhite()
getCurrentTheme().getWhite()
的覆寫方法。
MetalTheme
public static ColorUIResource getBlack()
getCurrentTheme().getBlack()
的覆寫方法。
MetalTheme
public static ColorUIResource getControl()
getCurrentTheme().getControl()
的覆寫方法。
MetalTheme
public static ColorUIResource getControlShadow()
getCurrentTheme().getControlShadow()
的覆寫方法。
MetalTheme
public static ColorUIResource getControlDarkShadow()
getCurrentTheme().getControlDarkShadow()
的覆寫方法。
MetalTheme
public static ColorUIResource getControlInfo()
getCurrentTheme().getControlInfo()
的覆寫方法。
MetalTheme
public static ColorUIResource getControlHighlight()
getCurrentTheme().getControlHighlight()
的覆寫方法。
MetalTheme
public static ColorUIResource getControlDisabled()
getCurrentTheme().getControlDisabled()
的覆寫方法。
MetalTheme
public static ColorUIResource getPrimaryControl()
getCurrentTheme().getPrimaryControl()
的覆寫方法。
MetalTheme
public static ColorUIResource getPrimaryControlShadow()
getCurrentTheme().getPrimaryControlShadow()
的覆寫方法。
MetalTheme
public static ColorUIResource getPrimaryControlDarkShadow()
getCurrentTheme().getPrimaryControlDarkShadow()
的覆寫方法。
MetalTheme
public static ColorUIResource getPrimaryControlInfo()
getCurrentTheme().getPrimaryControlInfo()
的覆寫方法。
MetalTheme
public static ColorUIResource getPrimaryControlHighlight()
getCurrentTheme().getPrimaryControlHighlight()
的覆寫方法。
MetalTheme
public static ColorUIResource getSystemTextColor()
getCurrentTheme().getSystemTextColor()
的覆寫方法。
MetalTheme
public static ColorUIResource getControlTextColor()
getCurrentTheme().getControlTextColor()
的覆寫方法。
MetalTheme
public static ColorUIResource getInactiveControlTextColor()
getCurrentTheme().getInactiveControlTextColor()
的覆寫方法。
MetalTheme
public static ColorUIResource getInactiveSystemTextColor()
getCurrentTheme().getInactiveSystemTextColor()
的覆寫方法。
MetalTheme
public static ColorUIResource getUserTextColor()
getCurrentTheme().getUserTextColor()
的覆寫方法。
MetalTheme
public static ColorUIResource getTextHighlightColor()
getCurrentTheme().getTextHighlightColor()
的覆寫方法。
MetalTheme
public static ColorUIResource getHighlightedTextColor()
getCurrentTheme().getHighlightedTextColor()
的覆寫方法。
MetalTheme
public static ColorUIResource getWindowBackground()
getCurrentTheme().getWindowBackground()
的覆寫方法。
MetalTheme
public static ColorUIResource getWindowTitleBackground()
getCurrentTheme().getWindowTitleBackground()
的覆寫方法。
MetalTheme
public static ColorUIResource getWindowTitleForeground()
getCurrentTheme().getWindowTitleForeground()
的覆寫方法。
MetalTheme
public static ColorUIResource getWindowTitleInactiveBackground()
getCurrentTheme().getWindowTitleInactiveBackground()
的覆寫方法。
MetalTheme
public static ColorUIResource getWindowTitleInactiveForeground()
getCurrentTheme().getWindowTitleInactiveForeground()
的覆寫方法。
MetalTheme
public static ColorUIResource getMenuBackground()
getCurrentTheme().getMenuBackground()
的覆寫方法。
MetalTheme
public static ColorUIResource getMenuForeground()
getCurrentTheme().getMenuForeground()
的覆寫方法。
MetalTheme
public static ColorUIResource getMenuSelectedBackground()
getCurrentTheme().getMenuSelectedBackground()
的覆寫方法。
MetalTheme
public static ColorUIResource getMenuSelectedForeground()
getCurrentTheme().getMenuSelectedForeground()
的覆寫方法。
MetalTheme
public static ColorUIResource getMenuDisabledForeground()
getCurrentTheme().getMenuDisabledForeground()
的覆寫方法。
MetalTheme
public static ColorUIResource getSeparatorBackground()
getCurrentTheme().getSeparatorBackground()
的覆寫方法。
MetalTheme
public static ColorUIResource getSeparatorForeground()
getCurrentTheme().getSeparatorForeground()
的覆寫方法。
MetalTheme
public static ColorUIResource getAcceleratorForeground()
getCurrentTheme().getAcceleratorForeground()
的覆寫方法。
MetalTheme
public static ColorUIResource getAcceleratorSelectedForeground()
getCurrentTheme().getAcceleratorSelectedForeground()
的覆寫方法。
MetalTheme
public LayoutStyle getLayoutStyle()
LayoutStyle
,它實作 http://java.sun.com/products/jlf/ed2/book/HIG.Visual2.html 中指定的 Java 外觀設計原則。
LookAndFeel
中的 getLayoutStyle
LayoutStyle.getInstance()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。