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