Module java.desktop
Package javax.swing

Class UIDefaults

所有已实现的接口:
Serializable, Cloneable, Map<Object,Object>

public class UIDefaults extends Hashtable<Object,Object>
一个用于Swing组件默认值的表格。应用程序可以通过UIManager设置/获取默认值。

警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参阅XMLEncoder

自1.2起:
1.2
另请参阅:
  • Constructor Details

    • UIDefaults

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

      public UIDefaults(int initialCapacity, float loadFactor)
      创建一个具有指定初始容量和负载因子的空默认表。
      参数:
      initialCapacity - 默认表的初始容量
      loadFactor - 默认表的负载因子
      自1.6起:
      1.6
      另请参阅:
    • UIDefaults

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

    • get

      public Object get(Object key)
      返回键的值。如果值为UIDefaults.LazyValue,则使用LazyValue.createValue()计算实际值,替换表中的条目,并返回实际值。如果值为UIDefaults.ActiveValue,则不替换表中的条目 - 每次get()调用都会使用ActiveValue.createValue()计算值。如果表中未找到键,则会在此对象维护的资源包列表中搜索。资源包按照最近添加的顺序进行搜索,使用getDefaultLocale返回的区域设置。资源包中不支持LazyValuesActiveValues
      指定者:
      get 在接口 Map<Object,Object>
      覆盖:
      get 在类 Hashtable<Object,Object>
      参数:
      key - 所需的键
      返回:
      key的值
      自1.4起:
      1.4
      另请参阅:
    • get

      public Object get(Object key, Locale l)
      返回与给定区域设置关联的键的值。如果值为UIDefaults.LazyValue,则使用LazyValue.createValue()计算实际值,替换表中的条目,并返回实际值。如果值为UIDefaults.ActiveValue,则不替换表中的条目 - 每次get()调用都会使用ActiveValue.createValue()计算值。如果表中未找到键,则会在此对象维护的资源包列表中搜索。资源包按照最近添加的顺序进行搜索,使用给定的区域设置。资源包中不支持LazyValuesActiveValues
      参数:
      key - 所需的键
      l - 所需的locale
      返回:
      key的值
      自1.4版本起:
      1.4
      另请参阅:
    • put

      public Object put(Object key, Object value)
      key的值设置为value,适用于所有locale。如果key是一个字符串且新值与旧值不相等,则触发PropertyChangeEvent。如果值为null,则从表中删除该键。
      指定者:
      put 在接口 Map<Object,Object>
      覆盖:
      put 在类 Hashtable<Object,Object>
      参数:
      key - 用于检索与其关联的数据值的唯一Object
      value - 要存储为该键下数据的新Object
      返回:
      先前的Object值,或null
      另请参阅:
    • putDefaults

      public void putDefaults(Object[] keyValueList)
      将数据库中的所有键/值对放入,并无条件地生成一个PropertyChangeEvent。事件的旧值和新值将为null,其propertyName将为"UIDefaults"。键/值对将添加到所有locale。
      参数:
      keyValueList - 一个键/值对数组
      另请参阅:
    • getFont

      public Font getFont(Object key)
      如果key的值是一个Font,则返回它,否则返回null
      参数:
      key - 所需的键
      返回:
      如果key的值是一个Font,则返回Font对象;否则返回null
    • getFont

      public Font getFont(Object key, Locale l)
      如果给定Localekey的值是一个Font,则返回它,否则返回null
      参数:
      key - 所需的键
      l - 所需的locale
      返回:
      如果keyLocale的值是一个Font,则返回Font对象;否则返回null
      自1.4版本起:
      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 - 所需的locale
      返回:
      如果给定Localekey的值是一个Color,则返回Color对象;否则返回null
      自1.4版本起:
      1.4
    • getIcon

      public Icon getIcon(Object key)
      如果key的值是一个Icon,则返回它,否则返回null
      参数:
      key - 所需的键
      返回:
      如果key的值是一个Icon,则返回Icon对象;否则返回null
    • getIcon

      public Icon getIcon(Object key, Locale l)
      如果给定Localekey的值是一个Icon,则返回它,否则返回null
      参数:
      key - 所需的键
      l - 所需的locale
      返回:
      如果keyLocale的值是一个Icon,则返回Icon对象;否则返回null
      自1.4版本起:
      1.4
    • getBorder

      public Border getBorder(Object key)
      如果key的值是一个Border,则返回它,否则返回null
      参数:
      key - 所需的键
      返回:
      如果key的值是一个Border,则返回Border对象;否则返回null
    • getBorder

      public Border getBorder(Object key, Locale l)
      如果给定Localekey的值是一个Border,则返回它,否则返回null
      参数:
      key - 所需的键
      l - 所需的locale
      返回:
      如果keyLocale的值是一个Border,则返回Border对象;否则返回null
      自1.4版本起:
      1.4
    • getString

      public String getString(Object key)
      如果key的值是一个String,则返回它,否则返回null
      参数:
      key - 所需的键
      返回:
      如果key的值是一个String,则返回String对象;否则返回null
    • getString

      public String getString(Object key, Locale l)
      如果给定Localekey的值是一个String,则返回它,否则返回null
      参数:
      key - 所需的键
      l - 所需的Locale
      返回:
      如果给定Localekey的值是一个String,则返回String对象;否则返回null
      自1.4版本起:
      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 - 所需的locale
      返回:
      如果keyLocale的值是一个Integer,则返回其值,否则返回0
      自1.4版本起:
      1.4
    • getBoolean

      public boolean getBoolean(Object key)
      如果key的值是布尔值,则返回布尔值,否则返回false。
      参数:
      key - 指定所需布尔值的键的Object
      返回:
      如果key的值是布尔值,则返回布尔值,否则返回false。
      自1.4版本起:
      1.4
    • getBoolean

      public boolean getBoolean(Object key, Locale l)
      如果给定Localekey的值是布尔值,则返回布尔值,否则返回false。
      参数:
      key - 指定所需布尔值的键的Object
      l - 所需的locale
      返回:
      如果keyLocale的值是布尔值,则返回布尔值,否则返回false。
      自1.4版本起:
      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,则返回它,否则返回null
      参数:
      key - 所需的键
      l - 所需的locale
      返回:
      如果keyLocale的值是一个Insets,则返回Insets对象;否则返回null
      自1.4版本起:
      1.4
    • getDimension

      public Dimension getDimension(Object key)
      如果key的值是一个Dimension,则返回它,否则返回null
      参数:
      key - 所需的键
      返回:
      如果key的值是一个Dimension,则返回Dimension对象;否则返回null
    • getDimension

      public Dimension getDimension(Object key, Locale l)
      如果给定Localekey的值是一个Dimension,则返回它,否则返回null
      参数:
      key - 所需的键
      l - 所需的区域设置
      返回:
      如果keyLocale的值是一个Dimension,则返回Dimension对象;否则返回null
      自版本:
      1.4
    • getUIClass

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

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

      此方法由getUI使用,通常不需要直接调用它。

      参数:
      uiClassID - 包含类ID的字符串
      uiClassLoader - 将加载该类的对象
      返回:
      Class.forName(get(uidClassID))的值
      参见:
    • getUIClass

      public Class<? extends ComponentUI> getUIClass(String uiClassID)
      返回渲染此组件的L&F类。
      参数:
      uiClassID - 包含类ID的字符串
      返回:
      getUIClass(uiClassID, null)返回的Class对象
    • getUIError

      protected void getUIError(String msg)
      如果getUI()由于任何原因失败,则在返回null之前调用此方法。子类可以选择在此处执行更多或更少的操作。
      参数:
      msg - 要打印的消息字符串
      参见:
    • getUI

      public ComponentUI getUI(JComponent target)
      为指定的组件创建一个ComponentUI实现。换句话说,为target创建与外观相关的委托对象。这分为两个步骤:
      • 查找ComponentUI实现类的名称,该名称在target.getUIClassID()返回的值下。
      • 使用实现类的静态createUI()方法来构造外观委托。
      参数:
      target - 需要UI的JComponent
      返回:
      ComponentUI对象
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
      向监听器列表中添加一个PropertyChangeListener。该监听器将注册所有属性。

      每当默认值更改时,将触发PropertyChangeEvent

      参数:
      listener - 要添加的PropertyChangeListener
      参见:
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
      从监听器列表中移除一个PropertyChangeListener。这将移除为所有属性注册的PropertyChangeListener
      参数:
      listener - 要移除的PropertyChangeListener
      参见:
    • getPropertyChangeListeners

      public PropertyChangeListener[] getPropertyChangeListeners()
      返回添加到此UIDefaults中的所有PropertyChangeListener的数组。
      返回:
      所有已添加的PropertyChangeListener或如果未添加任何监听器则返回空数组
      自版本:
      1.4
    • firePropertyChange

      protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
      支持报告绑定属性更改。如果oldValue和newValue不相等且PropertyChangeEvent监听器列表不为空,则向每个监听器触发PropertyChange事件。
      参数:
      propertyName - 已更改的属性的程序名称
      oldValue - 属性的旧值
      newValue - 属性的新值
      参见:
    • addResourceBundle

      public void addResourceBundle(String bundleName)
      向搜索本地化值的资源包列表中添加一个资源包。资源包按照它们被添加的相反顺序进行搜索,使用系统类加载器。换句话说,最近添加的包将首先被搜索。
      参数:
      bundleName - 要添加的资源包的基本名称
      自版本:
      1.4
      参见:
    • removeResourceBundle

      public void removeResourceBundle(String bundleName)
      从搜索本地化默认值的资源包列表中移除一个资源包。
      参数:
      bundleName - 要移除的资源包的基本名称
      自版本:
      1.4
      参见:
    • setDefaultLocale

      public void setDefaultLocale(Locale l)
      设置默认区域设置。默认区域设置用于通过不带区域设置参数的get方法检索本地化值。从版本1.4开始,Swing UI对象应该使用其组件的区域设置来检索本地化值,而不是默认区域设置。默认区域设置存在是为了与1.4之前的行为兼容。
      参数:
      l - 新的默认区域设置
      自版本:
      1.4
      参见:
    • getDefaultLocale

      public Locale getDefaultLocale()
      返回默认区域设置。默认区域设置用于通过不带区域设置参数的get方法检索本地化值。从版本1.4开始,Swing UI对象应该使用其组件的区域设置来检索本地化值,而不是默认区域设置。默认区域设置存在是为了与1.4之前的行为兼容。
      返回:
      默认区域设置
      自版本:
      1.4
      参见: