|
JavaTM 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 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。