|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.UIManager
public class UIManager
UIManager
管理當前外觀、可用外觀集合、外觀更改時被通知的 PropertyChangeListeners
、外觀預設值以及獲取各種預設值的便捷方法。
LookAndFeel
的實例並將它傳遞給 setLookAndFeel
。以下範例說明了如何將外觀設置為系統外觀:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());以下範例說明了如何根據類別名稱設置外觀:
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");一旦更改了外觀,則強制在所有
JComponent
上調用 updateUI
。SwingUtilities.updateComponentTreeUI(java.awt.Component)
方法有助於方便地對包含層次結構應用 updateUI
。有關詳細資訊,請參閱它。沒有指定更改外觀後不調用 updateUI
的確切行為。很有可能接收到無法預料的異常、繪製問題或更壞的情況。
swing.defaultlaf
為非 null
,則將其值用作預設外觀類別名稱。
Properties
檔案 swing.properties
存在且包含鍵 swing.defaultlaf
,則將其值用作預設外觀類別名稱。用來檢查 swing.properties
的位置可能隨 Java 平臺的實作而不同。在 Sun 的實作中,該位置位於 ${java.home}/lib/swing.properties
中。有關更多資訊,請參閱所用實作的發行說明。
UIManager
管理 UIDefault
的三個集合。它們分別是:
setLookAndFeel()
)時由該外觀提供。使用 getLookAndFeelDefaults()
方法可以獲得外觀預設值。
get
方法都將導致檢查每個預設值,按順序返回第一個非 null
值。例如,調用 UIManager.getString("Table.foreground")
導致首先檢查開發人員預設值。如果開發人員預設值包含 "Table.foreground"
的值,則返回該值,否則檢查外觀預設值,接著檢查系統預設值。
要重點注意的是,getDefaults
返回 UIDefault
的一個自定義實例,此解析邏輯內置於其中。例如,UIManager.getDefaults().getString("Table.foreground")
等效於 UIManager.getString("Table.foreground")
。兩者都使用剛才所描述的演算法進行解析。在許多地方,該文檔使用字預設值查閱 UIDefaults
的自定義實例,解析邏輯如前所述。
更改外觀時,UIManager
只更改外觀預設值;UIManager
不以任何方式更改開發人員和系統預設值。
該外觀定義並記錄特定外觀支持的預設值集合。此外,每個外觀或者外觀所提供的 ComponentUI
在它們生命週期中的不同時間可以存取該預設值。某些外觀可以強制尋找預設值,這樣在安裝該外觀後更改預設值可能無效。其他外觀可以延遲存取預設值,這樣對該預設值的更改可能對現有外觀產生影響。最後,其他外觀可能不會以任何方式根據預設表自我配置。雖然如此,但通常是外觀期望特定預設值這種情況,這樣在一般情況下,某個外觀提供的 ComponentUI
不會對另一個外觀起作用。
警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
巢狀類別摘要 | |
---|---|
static class |
UIManager.LookAndFeelInfo
為了配置選單或為了初始應用程序設置而提供關於已安裝的 LookAndFeel 的少量資訊。 |
建構子摘要 | |
---|---|
UIManager()
|
方法摘要 | |
---|---|
static void |
addAuxiliaryLookAndFeel(LookAndFeel laf)
將 LookAndFeel 添加到輔助外觀的列表中。 |
static void |
addPropertyChangeListener(PropertyChangeListener listener)
將一個 PropertyChangeListener 添加到偵聽器列表。 |
static Object |
get(Object key)
從預設值中返回一個物件。 |
static Object |
get(Object key,
Locale l)
從適合給定語言環境的預設值中返回一個物件。 |
static LookAndFeel[] |
getAuxiliaryLookAndFeels()
返回輔助外觀的列表(可以為 null )。 |
static boolean |
getBoolean(Object key)
從與鍵值相關的預設值中返回一個布林變數。 |
static boolean |
getBoolean(Object key,
Locale l)
從與鍵值和給定的 Locale 相關的預設值中返回一個布林變數。 |
static Border |
getBorder(Object key)
從預設值中返回一個邊框。 |
static Border |
getBorder(Object key,
Locale l)
從適合給定語言環境的預設值中返回一個邊框。 |
static Color |
getColor(Object key)
從預設值返回一種顏色。 |
static Color |
getColor(Object key,
Locale l)
從適合給定語言環境的預設值中返回一種顏色。 |
static String |
getCrossPlatformLookAndFeelClassName()
返回實作預設的跨平臺外觀 -- Java Look and Feel (JLF) -- 的 LookAndFeel 類別的名稱。 |
static UIDefaults |
getDefaults()
返回該預設值。 |
static Dimension |
getDimension(Object key)
從預設值中返回一個維數。 |
static Dimension |
getDimension(Object key,
Locale l)
從適合給定語言環境的預設值中返回一個維數。 |
static Font |
getFont(Object key)
從預設值返回一種字體。 |
static Font |
getFont(Object key,
Locale l)
從適合給定語言環境的預設值中返回一種字體。 |
static Icon |
getIcon(Object key)
從預設值中返回一個 Icon 。 |
static Icon |
getIcon(Object key,
Locale l)
從適合給定語言環境的預設值中返回一個 Icon 。 |
static Insets |
getInsets(Object key)
從預設值中返回一個 Insets 物件。 |
static Insets |
getInsets(Object key,
Locale l)
從適合給定語言環境的預設值中返回一個 Insets 物件。 |
static UIManager.LookAndFeelInfo[] |
getInstalledLookAndFeels()
返回表示當前可用的 LookAndFeel 實作的 LookAndFeelInfo 陣列。 |
static int |
getInt(Object key)
從預設值中返回一個整數。 |
static int |
getInt(Object key,
Locale l)
從適合給定語言環境的預設值中返回一個整數。 |
static LookAndFeel |
getLookAndFeel()
返回當前外觀或 null 。 |
static UIDefaults |
getLookAndFeelDefaults()
從當前外觀返回 UIDefaults ,UIDefaults 在安裝該外觀時獲得。 |
static PropertyChangeListener[] |
getPropertyChangeListeners()
返回添加到此 UIManager(具有 addPropertyChangeListener())的所有 PropertyChangeListener 的陣列。 |
static String |
getString(Object key)
從預設值中返回一個字元串。 |
static String |
getString(Object key,
Locale l)
從適合給定語言環境的預設值中返回一個字元串。 |
static String |
getSystemLookAndFeelClassName()
如果有實作本機系統外觀的 LookAndFeel 類別的名稱,則返回該名稱;否則返回預設的跨平臺 LookAndFeel 類別的名稱。 |
static ComponentUI |
getUI(JComponent target)
返回 target 的適當 ComponentUI 實作。 |
static void |
installLookAndFeel(String name,
String className)
將指定的外觀添加到可用外觀的集合中。 |
static void |
installLookAndFeel(UIManager.LookAndFeelInfo info)
將指定的外觀添加到可用外觀的集合中。 |
static Object |
put(Object key,
Object value)
在開發人員預設值中存儲一個物件。 |
static boolean |
removeAuxiliaryLookAndFeel(LookAndFeel laf)
從輔助外觀列表移除一個 LookAndFeel 。 |
static void |
removePropertyChangeListener(PropertyChangeListener listener)
從偵聽器列表移除 PropertyChangeListener 。 |
static void |
setInstalledLookAndFeels(UIManager.LookAndFeelInfo[] infos)
設置可用外觀的集合。 |
static void |
setLookAndFeel(LookAndFeel newLookAndFeel)
將當前外觀設置為 newLookAndFeel 。 |
static void |
setLookAndFeel(String className)
使用當前執行緒的上下文類別載入器載入給定類別名稱所指定的 LookAndFeel ,並將它傳遞給 setLookAndFeel(LookAndFeel) 。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public UIManager()
方法詳細資訊 |
---|
public static UIManager.LookAndFeelInfo[] getInstalledLookAndFeels()
LookAndFeel
實作的 LookAndFeelInfo
陣列。應用程序可以使用 LookAndFeelInfo
物件為使用者建構外觀選項的選單,或確定在啟動時要設置哪個外觀。要避免創建眾多 LookAndFeel
物件的影響,LookAndFeelInfo
維護 LookAndFeel
類別的類別名稱,而不是實際的 LookAndFeel
實例。
以下範例演示了如何根據 LookAndFeelInfo
的實例設置外觀:
UIManager.setLookAndFeel(info.getClassName());
LookAndFeelInfo
物件的陣列setLookAndFeel(javax.swing.LookAndFeel)
public static void setInstalledLookAndFeels(UIManager.LookAndFeelInfo[] infos) throws SecurityException
LookAndFeelInfos
為非 null
,因此建議最好在 infos
陣列中只提供非 null
值。
infos
- 指定可用外觀的 LookAndFeelInfo
物件的集合
NullPointerException
- 如果 infos
為 null
SecurityException
getInstalledLookAndFeels()
public static void installLookAndFeel(UIManager.LookAndFeelInfo info)
null
info
,但建議最好使用非 null
值。
info
- 命名外觀並標識實作它的類別的 LookAndFeelInfo
物件setInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])
public static void installLookAndFeel(String name, String className)
非 null
值。
name
- 該外觀的描述性名稱className
- 實作該外觀的類別的名稱setInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])
public static LookAndFeel getLookAndFeel()
null
。
null
setLookAndFeel(javax.swing.LookAndFeel)
public static void setLookAndFeel(LookAndFeel newLookAndFeel) throws UnsupportedLookAndFeelException
newLookAndFeel
。如果當前外觀為非 null
,則在其上調用 uninitialize
。如果 newLookAndFeel
為非 null
,則在其上調用 initialize
,接著調用 getDefaults
。從 newLookAndFeel.getDefaults()
返回的預設值將替換以前外觀的預設值。如果 newLookAndFeel
為 null
,則該外觀預設值被設置為 null
。
null
值可用於將該外觀設置為 null
。由於大多數 Swing 的運行都要求 LookAndFeel
,所以不建議將 LookAndFeel
設置為 null
。
這是一個 JavaBeans 綁定屬性。
newLookAndFeel
- 要安裝的 LookAndFeel
UnsupportedLookAndFeelException
- 如果 newLookAndFeel
為非 null
並且 newLookAndFeel.isSupportedLookAndFeel()
返回 false
getLookAndFeel()
public static void setLookAndFeel(String className) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException
LookAndFeel
,並將它傳遞給 setLookAndFeel(LookAndFeel)
。
className
- 指定實作外觀的類別名稱的字元串
ClassNotFoundException
- 如果無法找到 LookAndFeel
類別
InstantiationException
- 如果無法創建一個該類別的新實例
IllegalAccessException
- 如果該類別或初始化程序不可存取
UnsupportedLookAndFeelException
- 如果 lnf.isSupportedLookAndFeel()
為 false
ClassCastException
- 如果 className
沒有標識擴展 LookAndFeel
的類別public static String getSystemLookAndFeelClassName()
LookAndFeel
類別的名稱,則返回該名稱;否則返回預設的跨平臺 LookAndFeel
類別的名稱。可通過設置 swing.systemlaf
系統屬性覆寫此值。
LookAndFeel
類別的 String
setLookAndFeel(javax.swing.LookAndFeel)
,
getCrossPlatformLookAndFeelClassName()
public static String getCrossPlatformLookAndFeelClassName()
LookAndFeel
類別的名稱。可通過設置 swing.crossplatformlaf
系統屬性覆寫此值。
setLookAndFeel(javax.swing.LookAndFeel)
,
getSystemLookAndFeelClassName()
public static UIDefaults getDefaults()
UIDefaults
物件public static Font getFont(Object key)
key
的值不為 Font
,則返回 null
。
key
- 指定該字體的 Object
Font
物件
NullPointerException
- 如果 key
為 null
public static Font getFont(Object key, Locale l)
key
的值不為 Font
,則返回 null
。
key
- 指定該字體的 Object
l
- 需要該字體的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
。
Font
物件
NullPointerException
- 如果 key
為 null
public static Color getColor(Object key)
key
的值不為 Color
,則返回 null
。
key
- 指定該顏色的 Object
Color
物件
NullPointerException
- 如果 key
為 null
public static Color getColor(Object key, Locale l)
key
的值不為 Color
,則返回 null
。
key
- 指定該顏色的 Object
l
- 需要該顏色的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
Color
物件
NullPointerException
- 如果 key
為 null
public static Icon getIcon(Object key)
Icon
。如果 key
的值不為 Icon
,則返回 null
。
key
- 指定該圖標的 Object
Icon
物件
NullPointerException
- 如果 key
為 null
public static Icon getIcon(Object key, Locale l)
Icon
。如果 key
的值不為 Icon
,則返回 null
。
key
- 指定該圖標的 Object
l
- 需要該圖標的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
Icon
物件
NullPointerException
- 如果 key
為 null
public static Border getBorder(Object key)
key
的值不為 Border
,則返回 null
。
key
- 指定該邊框的 Object
Border
物件
NullPointerException
- 如果 key
為 null
public static Border getBorder(Object key, Locale l)
key
的值不為 Border
,則返回 null
。
key
- 指定該邊框的 Object
l
- 需要該邊框的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
Border
物件
NullPointerException
- 如果 key
為 null
public static String getString(Object key)
key
的值不為 String
,則返回 null
。
key
- 指定該字元串的 Object
String
NullPointerException
- 如果 key
為 null
public static String getString(Object key, Locale l)
key
的值不為 String
,則返回 null
。
key
- 指定該字元串的 Object
l
- 需要該字元串的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
String
NullPointerException
- 如果 key
為 null
public static int getInt(Object key)
key
的值不為 Integer
或者不存在,則返回 0
。
key
- 指定該 int 值的 Object
NullPointerException
- 如果 key
為 null
public static int getInt(Object key, Locale l)
key
的值不為 Integer
或者不存在,則返回 0
。
key
- 指定該 int 值的 Object
l
- 需要該 int 值的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
NullPointerException
- 如果 key
為 null
public static boolean getBoolean(Object key)
false
。
key
- 指定所需布林值的鍵的 Object
NullPointerException
- 如果 key
為 null
public static boolean getBoolean(Object key, Locale l)
Locale
相關的預設值中返回一個布林變數。如果找不到鍵或該鍵不表示布林值,則返回 false
。
key
- 指定所需布林值的鍵的 Object
l
- 需要該布林變數的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
NullPointerException
- 如果 key
為 null
public static Insets getInsets(Object key)
Insets
物件。如果 key
的值不為 Insets
,則返回 null
。
key
- 指定該 Insets
物件的 Object
Insets
物件
NullPointerException
- 如果 key
為 null
public static Insets getInsets(Object key, Locale l)
Insets
物件。如果 key
的值不為 Insets
,則返回 null
。
key
- 指定該 Insets
物件的 Object
l
- 需要該物件的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
Insets
物件
NullPointerException
- 如果 key
為 null
public static Dimension getDimension(Object key)
key
的值不為 Dimension
,則返回 null
。
key
- 指定維數物件的 Object
Dimension
物件
NullPointerException
- 如果 key
為 null
public static Dimension getDimension(Object key, Locale l)
key
的值不為 Dimension
,則返回 null
。
key
- 指定該維數物件的 Object
l
- 需要該物件的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
Dimension
物件
NullPointerException
- 如果 key
為 null
public static Object get(Object key)
key
- 指定所需物件的 Object
Object
NullPointerException
- 如果 key
為 null
public static Object get(Object key, Locale l)
key
- 指定所需物件的 Object
l
- 需要該物件的 Locale
;有關如何處理 null
Locale
的詳細資訊,請參閱 UIDefaults
Object
NullPointerException
- 如果 key
為 null
public static Object put(Object key, Object value)
getDefaults().put(key, value)
的一個覆寫方法。此方法僅對開發人員預設值有效,對系統預設值和外觀預設值無效。
key
- 一個指定檢索鍵的 Object
value
- 要存儲的 Object
;有關如何處理 null
的詳細資訊,請參閱 UIDefaults
UIDefaults.put(java.lang.Object, java.lang.Object)
返回的 Object
NullPointerException
- 如果 key
為 null
UIDefaults.put(java.lang.Object, java.lang.Object)
public static ComponentUI getUI(JComponent target)
target
的適當 ComponentUI
實作。通常,此方法覆寫 getDefaults().getUI(target)
。但是,如果安裝了輔助外觀,則此方法首先在多路外觀的預設值上調用 getUI(target)
,如果返回值為非 null
,則返回該值。
target
- 要返回 ComponentUI
的 JComponent
target
的 ComponentUI
物件
NullPointerException
- 如果 target
為 null
UIDefaults.getUI(javax.swing.JComponent)
public static UIDefaults getLookAndFeelDefaults()
UIDefaults
,UIDefaults
在安裝該外觀時獲得。
通常,開發人員應該使用從 getDefaults()
返回的 UIDefaults
。因為當前外觀可能期望存在特定值,所以替換從此方法返回的 UIDefaults
可能發生不可預料的結果。
UIDefaults
getDefaults()
,
setLookAndFeel(LookAndFeel)
,
LookAndFeel.getDefaults()
public static void addAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeel
添加到輔助外觀的列表中。這些輔助外觀會告知多路外觀,在創建多路 UI 時除預設的 LookAndFeel
類別外還使用其他哪些 LookAndFeel
類別。該項更改只有在創建新的 UI 類別或在元件實例上更改預設外觀時生效。
注意,這些類別不同於已安裝的外觀。
laf
- 該 LookAndFeel
物件removeAuxiliaryLookAndFeel(javax.swing.LookAndFeel)
,
setLookAndFeel(javax.swing.LookAndFeel)
,
getAuxiliaryLookAndFeels()
,
getInstalledLookAndFeels()
public static boolean removeAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeel
。這些輔助外觀會告知多路外觀,在創建多路 UI 時除預設的 LookAndFeel
類別外還使用其他哪些 LookAndFeel
類別。該項更改只有在創建新的 UI 類別或在元件實例上更改預設外觀時生效。
注意,這些類別不同於已安裝的外觀。
LookAndFeel
已從列表移除,則返回 trueremoveAuxiliaryLookAndFeel(javax.swing.LookAndFeel)
,
getAuxiliaryLookAndFeels()
,
setLookAndFeel(javax.swing.LookAndFeel)
,
getInstalledLookAndFeels()
public static LookAndFeel[] getAuxiliaryLookAndFeels()
null
)。這些輔助的外觀告知多路外觀,在創建多路 UI 時除預設的 LookAndFeel 類別外還使用其他哪些 LookAndFeel
類別。
注意,這些類別不同於已安裝的外觀。
LookAndFeel
的列表,或返回 null
addAuxiliaryLookAndFeel(javax.swing.LookAndFeel)
,
removeAuxiliaryLookAndFeel(javax.swing.LookAndFeel)
,
setLookAndFeel(javax.swing.LookAndFeel)
,
getInstalledLookAndFeels()
public static void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener
添加到偵聽器列表。該偵聽器為所有屬性進行註冊。
listener
- 要添加的 PropertyChangeListener
PropertyChangeSupport
public static void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener
。此方法移除了一個為所有屬性註冊的 PropertyChangeListener
。
listener
- 要移除的 PropertyChangeListener
PropertyChangeSupport
public static PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
的陣列。
PropertyChangeListener
;如果沒有添加偵聽器,則返回一個空陣列
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。