|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.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
SecurityExceptiongetInstalledLookAndFeels()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。
nullsetLookAndFeel(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() 返回 falsegetLookAndFeel()
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 類別的 StringsetLookAndFeel(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 - 指定該字體的 Objectl - 需要該字體的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults。
Font 物件
NullPointerException - 如果 key 為 nullpublic 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 - 指定該顏色的 Objectl - 需要該顏色的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults
Color 物件
NullPointerException - 如果 key 為 nullpublic 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 - 指定該圖標的 Objectl - 需要該圖標的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults
Icon 物件
NullPointerException - 如果 key 為 nullpublic 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 - 指定該邊框的 Objectl - 需要該邊框的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults
Border 物件
NullPointerException - 如果 key 為 nullpublic 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 - 指定該字元串的 Objectl - 需要該字元串的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults
String
NullPointerException - 如果 key 為 nullpublic 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 值的 Objectl - 需要該 int 值的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults
NullPointerException - 如果 key 為 nullpublic static boolean getBoolean(Object key)
false。
key - 指定所需布林值的鍵的 Object
NullPointerException - 如果 key 為 null
public static boolean getBoolean(Object key,
Locale l)
Locale 相關的預設值中返回一個布林變數。如果找不到鍵或該鍵不表示布林值,則返回 false。
key - 指定所需布林值的鍵的 Objectl - 需要該布林變數的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults
NullPointerException - 如果 key 為 nullpublic 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 物件的 Objectl - 需要該物件的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults
Insets 物件
NullPointerException - 如果 key 為 nullpublic 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 - 指定該維數物件的 Objectl - 需要該物件的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults
Dimension 物件
NullPointerException - 如果 key 為 nullpublic static Object get(Object key)
key - 指定所需物件的 Object
Object
NullPointerException - 如果 key 為 null
public static Object get(Object key,
Locale l)
key - 指定所需物件的 Objectl - 需要該物件的 Locale;有關如何處理 null Locale 的詳細資訊,請參閱 UIDefaults
Object
NullPointerException - 如果 key 為 null
public static Object put(Object key,
Object value)
getDefaults().put(key, value) 的一個覆寫方法。此方法僅對開發人員預設值有效,對系統預設值和外觀預設值無效。
key - 一個指定檢索鍵的 Objectvalue - 要存儲的 Object;有關如何處理 null 的詳細資訊,請參閱 UIDefaults
UIDefaults.put(java.lang.Object, java.lang.Object) 返回的 Object
NullPointerException - 如果 key 為 nullUIDefaults.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 為 nullUIDefaults.getUI(javax.swing.JComponent)public static UIDefaults getLookAndFeelDefaults()
UIDefaults,UIDefaults 在安裝該外觀時獲得。
通常,開發人員應該使用從 getDefaults() 返回的 UIDefaults。因為當前外觀可能期望存在特定值,所以替換從此方法返回的 UIDefaults 可能發生不可預料的結果。
UIDefaultsgetDefaults(),
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 的列表,或返回 nulladdAuxiliaryLookAndFeel(javax.swing.LookAndFeel),
removeAuxiliaryLookAndFeel(javax.swing.LookAndFeel),
setLookAndFeel(javax.swing.LookAndFeel),
getInstalledLookAndFeels()public static void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener 添加到偵聽器列表。該偵聽器為所有屬性進行註冊。
listener - 要添加的 PropertyChangeListenerPropertyChangeSupportpublic static void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener。此方法移除了一個為所有屬性註冊的 PropertyChangeListener。
listener - 要移除的 PropertyChangeListenerPropertyChangeSupportpublic static PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener 的陣列。
PropertyChangeListener;如果沒有添加偵聽器,則返回一個空陣列
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。