JavaTM 2 Platform
Standard Ed. 5.0

javax.swing
类 UIDefaults

java.lang.Object
  继承者 java.util.Dictionary<K,V>
      继承者 java.util.Hashtable<Object,Object>
          继承者 javax.swing.UIDefaults
所有已实现的接口:
Serializable, Cloneable, Map<Object,Object>

public class UIDefaults
extends Hashtable<Object,Object>

Swing 组件的默认值表。应用程序可以通过 UIManager 设置/获取默认值。

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

另请参见:
UIManager

嵌套类摘要
static interface UIDefaults.ActiveValue
          此类使用户能够在默认表中存储项,该默认表在每次使用某个 getXXX(key) 方法进行查找时创建。
static class UIDefaults.LazyInputMap
          LazyInputMap 将在其 createValue 方法中创建一个 InputMap
static interface UIDefaults.LazyValue
          此类使用户能够在默认表中存储项,该默认表只有在第一次使用某个 getXXX(key) 方法进行查找时才创建。
static class UIDefaults.ProxyLazyValue
          此类提供一个可用于延迟加载要创建实例类的 LazyValue 的实现。
 
构造方法摘要
UIDefaults()
          创建一个空默认值表。
UIDefaults(Object[] keyValueList)
          创建一个使用指定键/值对初始化的默认值表。
 
方法摘要
 void addPropertyChangeListener(PropertyChangeListener listener)
          向侦听器列表添加一个 PropertyChangeListener
 void addResourceBundle(String bundleName)
          将一个资源包添加到从中搜索本地化值的资源包的列表中。
protected  void firePropertyChange(String propertyName, Object oldValue, Object newValue)
          支持报告 bound 属性更改。
 Object get(Object key)
          返回键的值。
 Object get(Object key, Locale l)
          返回与给定语言环境相关的那些键的值。
 boolean getBoolean(Object key)
          如果 key 是 boolean 值,则返回该 boolean 值,否则返回 false。
 boolean getBoolean(Object key, Locale l)
          如果给定 Localekey 值是 boolean 值,则返回该 boolean 值,否则返回 false。
 Border getBorder(Object key)
          如果 key 值为一个 Border,则返回该 Border,否则返回 null
 Border getBorder(Object key, Locale l)
          如果给定 Localekey 值为一个 Border,则返回该 Border,否则返回 null
 Color getColor(Object key)
          如果 key 值为一个 Color,则返回它,否则返回 null
 Color getColor(Object key, Locale l)
          如果给定 Localekey 值为一个 Color,则返回它,否则返回 null
 Locale getDefaultLocale()
          返回该默认语言环境。
 Dimension getDimension(Object key)
          如果 key 值为一个 Dimension,则返回该 Dimension,否则返回 null
 Dimension getDimension(Object key, Locale l)
          如果给定 Localekey 值为一个 Dimension,则返回该 Dimension,否则返回 null
 Font getFont(Object key)
          如果 key 值为一个 Font,则返回该 Font,否则返回 null
 Font getFont(Object key, Locale l)
          如果给定 Localekey 值为一个 Font,则返回它,否则返回 null
 Icon getIcon(Object key)
          如果 key 值为一个 Icon,则返回该 Icon,否则返回 null
 Icon getIcon(Object key, Locale l)
          如果给定 Localekey 值为一个 Icon,则返回该 Icon,否则返回 null
 Insets getInsets(Object key)
          如果 key 值为一个 Insets,则返回它,否则返回 null
 Insets getInsets(Object key, Locale l)
          如果给定 Localekey 值为一个 Insets,则返回该 Insets,否则返回 null
 int getInt(Object key)
          如果 key 值为一个 Integer,则返回该整数值,否则返回 0。
 int getInt(Object key, Locale l)
          如果给定 Localekey 值为一个 Integer,则返回其整数值,否则返回 0。
 PropertyChangeListener[] getPropertyChangeListeners()
          返回使用 addPropertyChangeListener() 添加到此 UIDefaults 的所有 PropertyChangeListener 组成的数组。
 String getString(Object key)
          如果 key 值为一个 String,则返回该 String,否则返回 null
 String getString(Object key, Locale l)
          如果给定 Localekey 值为一个 String,则返回该 String,否则返回 null
 ComponentUI getUI(JComponent target)
          创建一个指定组件的 ComponentUI 实现。
 Class<? extends ComponentUI> getUIClass(String uiClassID)
          返回呈现此组件的 L&F 类。
 Class<? extends ComponentUI> getUIClass(String uiClassID, ClassLoader uiClassLoader)
          get(uidClassID) 的值必须为一个类的 String 名称,该类实现相应的 ComponentUI 类。
protected  void getUIError(String msg)
          如果由于某种原因导致 getUI() 失败,则它会在返回 null 之前调用此方法。
 Object put(Object key, Object value)
          将 key 值设置为所有语言环境的 value
 void putDefaults(Object[] keyValueList)
          将所有键/值对放入数据库中,并无条件地生成一个 PropertyChangeEvent
 void removePropertyChangeListener(PropertyChangeListener listener)
          从侦听器列表移除一个 PropertyChangeListener
 void removeResourceBundle(String bundleName)
          从在其中搜索本地化默认的资源包列表中移除一个资源包。
 void setDefaultLocale(Locale l)
          设置默认语言环境。
 
从类 java.util.Hashtable 继承的方法
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, hashCode, isEmpty, keys, keySet, putAll, rehash, remove, size, toString, values
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

UIDefaults

public UIDefaults()
创建一个空默认值表。


UIDefaults

public UIDefaults(Object[] keyValueList)
创建一个使用指定键/值对初始化的默认值表。例如:
        Object[] uiDefaults = {
             "Font", new Font("Dialog", Font.BOLD, 12),
            "Color", Color.red,
"five", new Integer(5)
        }
        UIDefaults myDefaults = new UIDefaults(uiDefaults);
 

参数:
keyValueList - 包含键/值对的对象数组
方法详细信息

get

public Object get(Object key)
返回键的值。如果该值为 UIDefaults.LazyValue,则使用 LazyValue.createValue() 计算其实际值,替换表项并返回实际值。如果该值为 UIDefaults.ActiveValue,则不替换表项,而是使用每个 get() 调用的 ActiveValue.createValue() 来计算该值。如果未在表中找到该键,则在此对象维护的资源包中搜索它。使用由 getDefaultLocale 返回的语言环境首先搜索最近添加的资源包。LazyValuesActiveValues 在资源包中不受支持。

指定者:
接口 Map<Object,Object> 中的 get
覆盖:
Hashtable<Object,Object> 中的 get
参数:
key - 所需的键
返回:
key 的值
从以下版本开始:
1.4
另请参见:
UIDefaults.LazyValue, UIDefaults.ActiveValue, Hashtable.get(java.lang.Object), getDefaultLocale(), addResourceBundle(java.lang.String)

get

public Object get(Object key,
                  Locale l)
返回与给定语言环境相关的那些键的值。如果该值为 UIDefaults.LazyValue,则使用 LazyValue.createValue() 计算其实际值、替换表项并返回实际值。如果该值为 UIDefaults.ActiveValue,则不替换表项,而是使用每个 get() 调用的 ActiveValue.createValue() 来计算该值。如果未在表中找到该键,则在由此对象维护的资源包中搜索它。使用给定的语言环境首先搜索最近添加的资源包。LazyValuesActiveValues 在资源包中不受支持。

参数:
key - 所需的键
l - 所需的 locale
返回:
key 的值
从以下版本开始:
1.4
另请参见:
UIDefaults.LazyValue, UIDefaults.ActiveValue, Hashtable.get(java.lang.Object), addResourceBundle(java.lang.String)

put

public Object put(Object key,
                  Object value)
key 值设置为所有语言环境的 value。如果 key 为一个字符串且新值不等于旧值,则触发一个 PropertyChangeEvent。如果值为 null,则从表中移除该键。

指定者:
接口 Map<Object,Object> 中的 put
覆盖:
Hashtable<Object,Object> 中的 put
参数:
key - 使用其值检索与之相关的数据值的惟一 Object
value - 要以数据形式在该键下存储的新 Object
返回:
以前的 Object 值,或 null
另请参见:
putDefaults(java.lang.Object[]), Hashtable.put(K, V)

putDefaults

public void putDefaults(Object[] keyValueList)
将所有键/值对放入数据库中,并无条件地生成一个 PropertyChangeEvent。事件 oldValue 和 newValue 将为 null,而其 propertyName 将为“UIDefaults”。为所有语言环境添加键/值对。

参数:
keyValueList - 键/值对数组
另请参见:
put(java.lang.Object, java.lang.Object), Hashtable.put(K, V)

getFont

public Font getFont(Object key)
如果 key 值为一个 Font,则返回该 Font,否则返回 null

参数:
key - 所需的键
返回:
如果 key 的值为一个 Font,则返回该 Font 对象;否则返回 null

getFont

public Font getFont(Object key,
                    Locale l)
如果给定 Localekey 值为一个 Font,则返回它,否则返回 null

参数:
key - 所需的键
l - 所需语言环境
返回:
如果 keyLocale 的值为一个 Font,则返回该 Font 对象;否则返回 null
从以下版本开始:
1.4

getColor

public Color getColor(Object key)
如果 key 值为一个 Color,则返回它,否则返回 null

参数:
key - 所需的键
返回:
如果 key 的值为一个 Color,则返回该 Color 对象;否则返回 null

getColor

public Color getColor(Object key,
                      Locale l)
如果给定 Localekey 值为一个 Color,则返回它,否则返回 null

参数:
key - 所需的键
l - 所需的语言环境
返回:
如果 keyLocale 的值为一个 Color,则返回该 Color 对象;否则返回 null
从以下版本开始:
1.4

getIcon

public Icon getIcon(Object key)
如果 key 值为一个 Icon,则返回该 Icon,否则返回 null

参数:
key - 所需的键
返回:
如果 key 的值为一个 Icon,则返回该 Icon 对象;否则返回 null

getIcon

public Icon getIcon(Object key,
                    Locale l)
如果给定 Localekey 值为一个 Icon,则返回该 Icon,否则返回 null

参数:
key - 所需的键
l - 所需的语言环境
返回:
如果 keyLocale 的值为一个 Icon,则返回该 Icon 对象;否则返回 null
从以下版本开始:
1.4

getBorder

public Border getBorder(Object key)
如果 key 值为一个 Border,则返回该 Border,否则返回 null

参数:
key - 所需的键
返回:
如果 key 的值为一个 Border,则返回该 Border 对象;否则返回 null

getBorder

public Border getBorder(Object key,
                        Locale l)
如果给定 Localekey 值为一个 Border,则返回该 Border,否则返回 null

参数:
key - 所需的键
l - 所需的语言环境
返回:
如果 keyLocale 的值为一个 Border,则返回该 Border 对象;否则返回 null
从以下版本开始:
1.4

getString

public String getString(Object key)
如果 key 值为一个 String,则返回该 String,否则返回 null

参数:
key - 所需的键
返回:
如果 key 的值为一个 String,则返回该 String 对象;否则返回 null

getString

public String getString(Object key,
                        Locale l)
如果给定 Localekey 值为一个 String,则返回该 String,否则返回 null

参数:
key - 所需的键
l - 所需的 Locale
返回:
如果给定 Localekey 的值为一个 String,则返回该 String 对象;否则返回 null
从以下版本开始:
1.4

getInt

public int getInt(Object key)
如果 key 值为一个 Integer,则返回该整数值,否则返回 0。

参数:
key - 所需的键
返回:
如果 key 的值为一个 Integer,则返回其值,否则返回 0

getInt

public int getInt(Object key,
                  Locale l)
如果给定 Localekey 值为一个 Integer,则返回其整数值,否则返回 0。

参数:
key - 所需的键
l - 所需的语言环境
返回:
如果 keyLocale 的值为一个 Integer,则返回其值,否则返回 0
从以下版本开始:
1.4

getBoolean

public boolean getBoolean(Object key)
如果 key 是 boolean 值,则返回该 boolean 值,否则返回 false。

参数:
key - 指定所需 boolean 值的键的 Object
返回:
如果 key 值是 boolean 值,则返回该 boolean 值,否则返回 false。
从以下版本开始:
1.4

getBoolean

public boolean getBoolean(Object key,
                          Locale l)
如果给定 Localekey 值是 boolean 值,则返回该 boolean 值,否则返回 false。

参数:
key - 一个指定所需 boolean 值的键的 Object
l - 所需的语言环境
返回:
如果 keyLocale 的值是 boolean 值,则返回该 boolean 值,否则返回 false。
从以下版本开始:
1.4

getInsets

public Insets getInsets(Object key)
如果 key 值为一个 Insets,则返回它,否则返回 null

参数:
key - 所需的键
返回:
如果 key 的值为一个 Insets,则返回该 Insets 对象;否则返回 null

getInsets

public Insets getInsets(Object key,
                        Locale l)
如果给定 Localekey 值为一个 Insets,则返回该 Insets,否则返回 null

参数:
key - 所需的键
l - 所需的语言环境
返回:
如果 keyLocale 的值为一个 Insets,则返回该 Insets 对象;否则返回 null
从以下版本开始:
1.4

getDimension

public Dimension getDimension(Object key)
如果 key 值为一个 Dimension,则返回该 Dimension,否则返回 null

参数:
key - 所需的键
返回:
如果 key 的值为一个 Dimension,则返回该 Dimension 对象;否则返回 null

getDimension

public Dimension getDimension(Object key,
                              Locale l)
如果给定 Localekey 值为一个 Dimension,则返回该 Dimension,否则返回 null

参数:
key - 所需的键
l - 所需的语言环境
返回:
如果 keyLocale 的值为一个 Dimension,则返回该 Dimension 对象;否则返回 null
从以下版本开始:
1.4

getUIClass

public Class<? extends ComponentUI> getUIClass(String uiClassID,
                                               ClassLoader uiClassLoader)
get(uidClassID) 的值必须为一个类的 String 名称,该类实现相应的 ComponentUI 类。如果以前未加载该类,若提供非 null 类加载器,则此方法会使用 uiClassLoader.loadClass() 查找该类,否则使用 classForName() 查找。

如果 uiClassID 的映射关系存在,或者无法找到指定类,则返回 null

此方法由 getUI 使用,通常不必直接调用该方法。

参数:
uiClassID - 一个包含类 ID 的字符串
uiClassLoader - 将加载该类的对象
返回:
Class.forName(get(uidClassID)) 的值
另请参见:
getUI(javax.swing.JComponent)

getUIClass

public Class<? extends ComponentUI> getUIClass(String uiClassID)
返回呈现此组件的 L&F 类。

参数:
uiClassID - 一个包含类 ID 的字符串
返回:
getUIClass(uiClassID, null) 返回的类对象

getUIError

protected void getUIError(String msg)
如果由于某种原因导致 getUI() 失败,则它会在返回 null 之前调用此方法。子类在这里也可以选择执行差不多的操作。

参数:
msg - 要打印的消息字符串
另请参见:
getUI(javax.swing.JComponent)

getUI

public ComponentUI getUI(JComponent target)
创建一个指定组件的 ComponentUI 实现。换句话说,创建 target 的特定于外观的委托对象。此操作分以下两步进行:

参数:
target - 需要 UI 的 JComponent
返回:
ComponentUI 对象

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
向侦听器列表添加一个 PropertyChangeListener。该侦听器是为所有属性注册的。

每更改一个默认值时,都将触发一个 PropertyChangeEvent

参数:
listener - 要添加的 PropertyChangeListener
另请参见:
PropertyChangeSupport

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
从侦听器列表移除一个 PropertyChangeListener。此方法移除了一个为所有属性注册的 PropertyChangeListener

参数:
listener - 要移除的 PropertyChangeListener
另请参见:
PropertyChangeSupport

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
返回使用 addPropertyChangeListener() 添加到此 UIDefaults 的所有 PropertyChangeListener 组成的数组。

返回:
添加的所有 PropertyChangeListener,如果没有添加侦听器,则返回一个空数组
从以下版本开始:
1.4

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  Object oldValue,
                                  Object newValue)
支持报告 bound 属性更改。如果 oldValue 和 newValue 不相等,且 PropertyChangeEventx 侦听器列表不为空,则对每个侦听器触发一个 PropertyChange

参数:
propertyName - 已更改的属性的编程名称
oldValue - 属性的旧值
newValue - 属性的新值
另请参见:
PropertyChangeSupport

addResourceBundle

public void addResourceBundle(String bundleName)
将一个资源包添加到从中搜索本地化值的资源包的列表中。按添加时的反向顺序搜索资源包。换句话说,就是搜索最近刚添加的包。

参数:
bundleName - 要添加的资源包的基本名称
从以下版本开始:
1.4
另请参见:
ResourceBundle, removeResourceBundle(java.lang.String)

removeResourceBundle

public void removeResourceBundle(String bundleName)
从在其中搜索本地化默认的资源包列表中移除一个资源包。

参数:
bundleName - 要移除的资源包的基本名称
从以下版本开始:
1.4
另请参见:
ResourceBundle, addResourceBundle(java.lang.String)

setDefaultLocale

public void setDefaultLocale(Locale l)
设置默认语言环境。通过不带 locale 参数的 get 方法,使用默认语言环境检索本地化值。从版本 1.4 开始,Swing UI 对象应该使用其组件的语言环境而不是使用默认语言环境检索本地化值。默认的语言环境可以与 1.4 以前的行为兼容。

参数:
l - 新的默认语言环境
从以下版本开始:
1.4
另请参见:
getDefaultLocale(), get(Object), get(Object,Locale)

getDefaultLocale

public Locale getDefaultLocale()
返回该默认语言环境。通过不带 locale 参数的 get 方法,使用默认语言环境检索本地化值。从版本 1.4 开始,Swing UI 对象应该使用其组件的语言环境而不是使用默认语言环境检索本地化值。默认的语言环境可以与 1.4 以前的行为兼容。

返回:
该默认语言环境
从以下版本开始:
1.4
另请参见:
setDefaultLocale(java.util.Locale), get(Object), get(Object,Locale)

JavaTM 2 Platform
Standard Ed. 5.0

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

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