- 所有已实现的接口:
-
Serializable
,Cloneable
,Map<Object,
Object>
一个用于Swing组件默认值的表格。应用程序可以通过
UIManager
设置/获取默认值。
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans
包中。请参阅XMLEncoder
。
- 自1.2起:
- 1.2
- 另请参阅:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
此类使得可以将一个条目存储在默认表中,每次使用getXXX(key)
方法查找时都会构造该条目。static class
LazyInputMap
将在其createValue
方法中创建一个InputMap
。static interface
此类使得可以将一个条目存储在默认表中,直到第一次使用getXXX(key)
方法查找时才会构造该条目。static class
此类提供了LazyValue
的实现,可用于延迟加载用于创建实例的类。 -
Constructor Summary
ConstructorDescription创建一个空的默认表。UIDefaults
(int initialCapacity, float loadFactor) 创建一个具有指定初始容量和负载因子的空默认表。UIDefaults
(Object[] keyValueList) 创建一个使用指定键/值对初始化的默认表。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
向监听器列表中添加一个PropertyChangeListener
。void
addResourceBundle
(String bundleName) 向搜索本地化值的资源包列表中添加一个资源包。protected void
firePropertyChange
(String propertyName, Object oldValue, Object newValue) 支持报告绑定属性更改。返回键的值。返回与给定区域设置关联的键的值。boolean
getBoolean
(Object key) 如果key
的值为布尔值,则返回布尔值,否则返回false。boolean
getBoolean
(Object key, Locale l) 如果给定Locale
的key
的值为布尔值,则返回布尔值,否则返回false。如果key
的值为Border
,则返回它,否则返回null
。如果给定Locale
的key
的值为Border
,则返回它,否则返回null
。如果key
的值为Color
,则返回它,否则返回null
。如果给定Locale
的key
的值为Color
,则返回它,否则返回null
。返回默认区域设置。getDimension
(Object key) 如果key
的值为Dimension
,则返回它,否则返回null
。getDimension
(Object key, Locale l) 如果给定Locale
的key
的值为Dimension
,则返回它,否则返回null
。如果key
的值为Font
,则返回它,否则返回null
。如果给定Locale
的key
的值为Font
,则返回它,否则返回null
。如果key
的值为Icon
,则返回它,否则返回null
。如果给定Locale
的key
的值为Icon
,则返回它,否则返回null
。如果key
的值为Insets
,则返回它,否则返回null
。如果给定Locale
的key
的值为Insets
,则返回它,否则返回null
。int
如果key
的值为Integer
,则返回其整数值,否则返回0。int
如果给定Locale
的key
的值为Integer
,则返回其整数值,否则返回0。返回添加到此UIDefaults中的所有PropertyChangeListener
的数组。如果key
的值为String
,则返回它,否则返回null
。如果给定Locale
的key
的值为String
,则返回它,否则返回null
。getUI
(JComponent target) 为指定的组件创建一个ComponentUI
实现。Class
<? extends ComponentUI> getUIClass
(String uiClassID) 返回渲染此组件的L&F类。Class
<? extends ComponentUI> getUIClass
(String uiClassID, ClassLoader uiClassLoader) get(uidClassID)
的值必须是实现相应ComponentUI
类的类的String
名称。protected void
getUIError
(String msg) 如果getUI()
由于任何原因失败,则在返回null
之前调用此方法。为所有区域设置将key
的值设置为value
。void
putDefaults
(Object[] keyValueList) 将数据库中的所有键/值对放入,并无条件地生成一个PropertyChangeEvent
。void
从监听器列表中删除一个PropertyChangeListener
。void
removeResourceBundle
(String bundleName) 从搜索本地化默认值的资源包列表中删除一个资源包。void
设置默认区域设置。Methods declared in class java.util.Hashtable
clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, hashCode, isEmpty, keys, keySet, merge, putAll, rehash, remove, size, toString, values
Methods declared in interface java.util.Map
forEach, getOrDefault, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
UIDefaults
public UIDefaults()创建一个空的默认表。 -
UIDefaults
public UIDefaults(int initialCapacity, float loadFactor) 创建一个具有指定初始容量和负载因子的空默认表。- 参数:
-
initialCapacity
- 默认表的初始容量 -
loadFactor
- 默认表的负载因子 - 自1.6起:
- 1.6
- 另请参阅:
-
UIDefaults
创建一个使用指定键/值对初始化的默认表。例如: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
返回键的值。如果值为UIDefaults.LazyValue
,则使用LazyValue.createValue()
计算实际值,替换表中的条目,并返回实际值。如果值为UIDefaults.ActiveValue
,则不替换表中的条目 - 每次get()
调用都会使用ActiveValue.createValue()
计算值。如果表中未找到键,则会在此对象维护的资源包列表中搜索。资源包按照最近添加的顺序进行搜索,使用getDefaultLocale
返回的区域设置。资源包中不支持LazyValues
和ActiveValues
。 -
get
返回与给定区域设置关联的键的值。如果值为UIDefaults.LazyValue
,则使用LazyValue.createValue()
计算实际值,替换表中的条目,并返回实际值。如果值为UIDefaults.ActiveValue
,则不替换表中的条目 - 每次get()
调用都会使用ActiveValue.createValue()
计算值。如果表中未找到键,则会在此对象维护的资源包列表中搜索。资源包按照最近添加的顺序进行搜索,使用给定的区域设置。资源包中不支持LazyValues
和ActiveValues
。- 参数:
-
key
- 所需的键 -
l
- 所需的locale
- 返回:
-
key
的值 - 自1.4版本起:
- 1.4
- 另请参阅:
-
put
将key
的值设置为value
,适用于所有locale。如果key
是一个字符串且新值与旧值不相等,则触发PropertyChangeEvent
。如果值为null
,则从表中删除该键。 -
putDefaults
将数据库中的所有键/值对放入,并无条件地生成一个PropertyChangeEvent
。事件的旧值和新值将为null
,其propertyName
将为"UIDefaults"。键/值对将添加到所有locale。- 参数:
-
keyValueList
- 一个键/值对数组 - 另请参阅:
-
getFont
如果key
的值是一个Font
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 - 返回:
-
如果
key
的值是一个Font
,则返回Font
对象;否则返回null
-
getFont
如果给定Locale
的key
的值是一个Font
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 -
l
- 所需的locale - 返回:
-
如果
key
和Locale
的值是一个Font
,则返回Font
对象;否则返回null
- 自1.4版本起:
- 1.4
-
getColor
如果key
的值是一个Color
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 - 返回:
-
如果
key
的值是一个Color
,则返回Color
对象;否则返回null
-
getColor
如果给定Locale
的key
的值是一个Color
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 -
l
- 所需的locale - 返回:
-
如果给定
Locale
的key
的值是一个Color
,则返回Color
对象;否则返回null
- 自1.4版本起:
- 1.4
-
getIcon
如果key
的值是一个Icon
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 - 返回:
-
如果
key
的值是一个Icon
,则返回Icon
对象;否则返回null
-
getIcon
如果给定Locale
的key
的值是一个Icon
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 -
l
- 所需的locale - 返回:
-
如果
key
和Locale
的值是一个Icon
,则返回Icon
对象;否则返回null
- 自1.4版本起:
- 1.4
-
getBorder
如果key
的值是一个Border
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 - 返回:
-
如果
key
的值是一个Border
,则返回Border
对象;否则返回null
-
getBorder
如果给定Locale
的key
的值是一个Border
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 -
l
- 所需的locale - 返回:
-
如果
key
和Locale
的值是一个Border
,则返回Border
对象;否则返回null
- 自1.4版本起:
- 1.4
-
getString
如果key
的值是一个String
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 - 返回:
-
如果
key
的值是一个String
,则返回String
对象;否则返回null
-
getString
如果给定Locale
的key
的值是一个String
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 -
l
- 所需的Locale
- 返回:
-
如果给定
Locale
的key
的值是一个String
,则返回String
对象;否则返回null
- 自1.4版本起:
- 1.4
-
getInt
如果key
的值是一个Integer
,则返回其整数值,否则返回0。- 参数:
-
key
- 所需的键 - 返回:
-
如果
key
的值是一个Integer
,则返回其值,否则返回0
-
getInt
如果给定Locale
的key
的值是一个Integer
,则返回其整数值,否则返回0。- 参数:
-
key
- 所需的键 -
l
- 所需的locale - 返回:
-
如果
key
和Locale
的值是一个Integer
,则返回其值,否则返回0 - 自1.4版本起:
- 1.4
-
getBoolean
如果key
的值是布尔值,则返回布尔值,否则返回false。- 参数:
-
key
- 指定所需布尔值的键的Object
- 返回:
-
如果
key
的值是布尔值,则返回布尔值,否则返回false。 - 自1.4版本起:
- 1.4
-
getBoolean
如果给定Locale
的key
的值是布尔值,则返回布尔值,否则返回false。- 参数:
-
key
- 指定所需布尔值的键的Object
-
l
- 所需的locale - 返回:
-
如果
key
和Locale
的值是布尔值,则返回布尔值,否则返回false。 - 自1.4版本起:
- 1.4
-
getInsets
如果key
的值是一个Insets
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 - 返回:
-
如果
key
的值是一个Insets
,则返回Insets
对象;否则返回null
-
getInsets
如果给定Locale
的key
的值是一个Insets
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 -
l
- 所需的locale - 返回:
-
如果
key
和Locale
的值是一个Insets
,则返回Insets
对象;否则返回null
- 自1.4版本起:
- 1.4
-
getDimension
如果key
的值是一个Dimension
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 - 返回:
-
如果
key
的值是一个Dimension
,则返回Dimension
对象;否则返回null
-
getDimension
如果给定Locale
的key
的值是一个Dimension
,则返回它,否则返回null
。- 参数:
-
key
- 所需的键 -
l
- 所需的区域设置 - 返回:
-
如果
key
和Locale
的值是一个Dimension
,则返回Dimension
对象;否则返回null
- 自版本:
- 1.4
-
getUIClass
get(uidClassID)
的值必须是实现相应ComponentUI
类的类的String
名称。如果该类以前未加载过,则此方法使用uiClassLoader.loadClass()
查找类(如果提供了非null
类加载器),否则使用classForName()
。如果存在
uiClassID
的映射,或者无法找到指定的类,则返回null
。此方法由
getUI
使用,通常不需要直接调用它。- 参数:
-
uiClassID
- 包含类ID的字符串 -
uiClassLoader
- 将加载该类的对象 - 返回:
-
Class.forName(get(uidClassID))
的值 - 参见:
-
getUIClass
返回渲染此组件的L&F类。- 参数:
-
uiClassID
- 包含类ID的字符串 - 返回:
-
getUIClass(uiClassID, null)
返回的Class对象
-
getUIError
如果getUI()
由于任何原因失败,则在返回null
之前调用此方法。子类可以选择在此处执行更多或更少的操作。- 参数:
-
msg
- 要打印的消息字符串 - 参见:
-
getUI
为指定的组件创建一个ComponentUI
实现。换句话说,为target
创建与外观相关的委托对象。这分为两个步骤:- 查找
ComponentUI
实现类的名称,该名称在target.getUIClassID()
返回的值下。 - 使用实现类的静态
createUI()
方法来构造外观委托。
- 参数:
-
target
- 需要UI的JComponent
- 返回:
-
ComponentUI
对象
- 查找
-
addPropertyChangeListener
向监听器列表中添加一个PropertyChangeListener
。该监听器将注册所有属性。每当默认值更改时,将触发
PropertyChangeEvent
。- 参数:
-
listener
- 要添加的PropertyChangeListener
- 参见:
-
removePropertyChangeListener
从监听器列表中移除一个PropertyChangeListener
。这将移除为所有属性注册的PropertyChangeListener
。- 参数:
-
listener
- 要移除的PropertyChangeListener
- 参见:
-
getPropertyChangeListeners
返回添加到此UIDefaults中的所有PropertyChangeListener
的数组。- 返回:
-
所有已添加的
PropertyChangeListener
或如果未添加任何监听器则返回空数组 - 自版本:
- 1.4
-
firePropertyChange
支持报告绑定属性更改。如果oldValue和newValue不相等且PropertyChangeEvent
监听器列表不为空,则向每个监听器触发PropertyChange
事件。- 参数:
-
propertyName
- 已更改的属性的程序名称 -
oldValue
- 属性的旧值 -
newValue
- 属性的新值 - 参见:
-
addResourceBundle
向搜索本地化值的资源包列表中添加一个资源包。资源包按照它们被添加的相反顺序进行搜索,使用系统类加载器。换句话说,最近添加的包将首先被搜索。- 参数:
-
bundleName
- 要添加的资源包的基本名称 - 自版本:
- 1.4
- 参见:
-
removeResourceBundle
从搜索本地化默认值的资源包列表中移除一个资源包。- 参数:
-
bundleName
- 要移除的资源包的基本名称 - 自版本:
- 1.4
- 参见:
-
setDefaultLocale
设置默认区域设置。默认区域设置用于通过不带区域设置参数的get
方法检索本地化值。从版本1.4开始,Swing UI对象应该使用其组件的区域设置来检索本地化值,而不是默认区域设置。默认区域设置存在是为了与1.4之前的行为兼容。- 参数:
-
l
- 新的默认区域设置 - 自版本:
- 1.4
- 参见:
-
getDefaultLocale
返回默认区域设置。默认区域设置用于通过不带区域设置参数的get
方法检索本地化值。从版本1.4开始,Swing UI对象应该使用其组件的区域设置来检索本地化值,而不是默认区域设置。默认区域设置存在是为了与1.4之前的行为兼容。- 返回:
- 默认区域设置
- 自版本:
- 1.4
- 参见:
-