- java.lang.Object
-
- javax.swing.LookAndFeel
-
- javax.swing.plaf.basic.BasicLookAndFeel
-
- 实现的所有接口
-
Serializable
- 已知直接子类:
-
MetalLookAndFeel,SynthLookAndFeel
public abstract class BasicLookAndFeel extends LookAndFeel implements Serializable
用于为Swing创建外观的基类。由
BasicLookAndFeel提供的每个ComponentUI从默认表中派生其行为。 除非另有说明,否则此包中的每个ComponentUI实现都会记录它们使用的默认设置。 除非另有说明默认值是在安装的时候installUI被调用,并按照概述的建议LookAndFeel安装的默认值。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,对
java.beans软件包中添加了对所有JavaBeansjava.beans长期存储的支持。 请参阅XMLEncoder。- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 BasicLookAndFeel()
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 protected ActioncreateAudioAction(Object key)创建并返回用于播放声音的Action。protected ActionMapgetAudioActionMap()返回包含此外观的音频动作的ActionMap。UIDefaultsgetDefaults()返回外观默认值。protected voidinitClassDefaults(UIDefaults table)填充table从映射uiClassID到ui类的完全限定名。protected voidinitComponentDefaults(UIDefaults table)使用基本外观的默认值填充table。protected voidinitSystemColorDefaults(UIDefaults table)使用系统颜色填充table。protected voidloadSystemColors(UIDefaults table, String[] systemColors, boolean useNative)填充table与name-color成对systemColors。protected voidplaySound(Action audioAction)如有必要,actionPerformed在audioAction上调用actionPerformed播放声音。-
声明方法的类 javax.swing.LookAndFeel
getDescription, getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getID, getLayoutStyle, getName, getSupportsWindowDecorations, initialize, installBorder, installColors, installColorsAndFont, installProperty, isNativeLookAndFeel, isSupportedLookAndFeel, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninitialize, uninstallBorder
-
-
-
-
方法详细信息
-
getDefaults
public UIDefaults getDefaults()
返回外观默认值。 返回UIDefaults被调用,从而,填充initClassDefaults,initSystemColorDefaults和initComponentDefaults。虽然此方法是公共的,但只有当外观设置为当前外观并且在调用
initialize之后,才应该由UIManager调用它。
-
initClassDefaults
protected void initClassDefaults(UIDefaults table)
填充table从映射uiClassID到ui类的完全限定名。 具体的uiClassID的值是"javax.swing.plaf.basic.Basic + uiClassID"。 例如,uiClassIDTreeUI值为"javax.swing.plaf.basic.BasicTreeUI"。- 参数
-
table- 添加条目的UIDefaults实例 - 异常
-
NullPointerException- 如果table是null - 另请参见:
-
LookAndFeel,getDefaults()
-
initSystemColorDefaults
protected void initSystemColorDefaults(UIDefaults table)
使用系统颜色填充table。 这将创建一个name-color对的数组,并调用loadSystemColors。名称是
String,对应于SystemColor类中的一个静态SystemColor字段的SystemColor。 为每个这样的SystemColor字段创建名称 - 颜色对。color对应于String所理解的十六进制Color.decode。 例如,name-color对中的一个是"desktop"-"#005C5C"。 这对应于SystemColor字段desktop,颜色值为new Color(0x005C5C)。以下显示了
name-color对中的name-color对:String[] nameColorPairs = new String[] { "desktop", "#005C5C", "activeCaption", "#000080" }; loadSystemColors(table, nameColorPairs, isNativeLookAndFeel());如前所述,这loadSystemColors使用提供的table和name-color对阵列调用loadSystemColors。loadSystemColors的最后一个参数指示是否应使用SystemColor中的字段值。 此方法将值isNativeLookAndFeel()作为最后一个参数传递给loadSystemColors。- 参数
-
table- 要添加值的UIDefaults对象 - 异常
-
NullPointerException- 如果table是null - 另请参见:
-
SystemColor,getDefaults(),loadSystemColors(javax.swing.UIDefaults, java.lang.String[], boolean)
-
loadSystemColors
protected void loadSystemColors(UIDefaults table, String[] systemColors, boolean useNative)
填充table与name-color成对systemColors。 有关systemColors格式的详细信息,请参阅systemColors。对于
table中的每个name-color对,添加了一个条目systemColors。 输入密钥是name对的name-color。该条目的值对应于
color对的name-color。 条目的值以两种方式之一计算。 无论采用哪种方法,该值始终为ColorUIResource。如果
useNative为false,该color通过使用创建Color.decode的转换String为Color。 如果decode无法将String转换为Color(抛出NumberFormatException),则使用ColorUIResource黑色。如果
useNative是true,所述color是字段中的值SystemColor具有相同名称为name的的name-color对。 如果该字段无效,则使用ColorUIResource黑色。- 参数
-
table- 要添加值的UIDefaults对象 -
systemColors-的阵列name-color如上述对initSystemColorDefaults(UIDefaults) -
useNative- 颜色是从SystemColor还是Color.decode获得 - 异常
-
NullPointerException- 如果systemColors是null; 或systemColors不为空,table为null; 或其中一个name-color对的名称是null; 或useNative是false和的一个colors所述的name-color对中的null -
ArrayIndexOutOfBoundsException- 如果useNative是false和systemColors.length是奇数 - 另请参见:
-
initSystemColorDefaults(javax.swing.UIDefaults),SystemColor,Color.decode(String)
-
initComponentDefaults
protected void initComponentDefaults(UIDefaults table)
使用基本外观的默认值填充table。- 参数
-
table- 要添加值的UIDefaults - 异常
-
NullPointerException- 如果table是null
-
getAudioActionMap
protected ActionMap getAudioActionMap()
返回包含此外观的音频操作的ActionMap。返回的
ActionMap包含Actions,其体现了呈现听觉提示的能力。 这些听觉提示映射到用户和系统活动,这些活动可能对最终用户有用(例如出现的对话框)。在适当的时候,
ComponentUI负责获得Action出的ActionMap并将它传递给playSound。该方法首先查找该
ActionMap使用密钥的缺省"AuditoryCues.actionMap"。如果值为
non-null,则返回。 如果默认值"AuditoryCues.actionMap"为null,默认值"AuditoryCues.cueList"为non-null,一个ActionMapUIResource创建和填充。 通过迭代"AuditoryCues.cueList"数组的每个元素并调用Action为每个元素创建createAudioAction()来完成Action。 结果Action放在ActionMapUIResource,使用数组元素作为键。 例如,如果"AuditoryCues.cueList"数组包含单个元素"audioKey",ActionMapUIResource创建ActionMapUIResource,然后通过actionMap.put(cueList[0], createAudioAction(cueList[0]))填充。如果默认值
"AuditoryCues.actionMap"值为null且默认"AuditoryCues.cueList"值为null,则会创建一个空的ActionMapUIResource。- 结果
-
包含
Actions的ActionMap,负责播放听觉线索 - 异常
-
ClassCastException- 如果默认值"AuditoryCues.actionMap"值不是ActionMap,或者默认值"AuditoryCues.cueList"值不是Object[] - 从以下版本开始:
- 1.4
- 另请参见:
-
createAudioAction(java.lang.Object),playSound(Action)
-
createAudioAction
protected Action createAudioAction(Object key)
创建并返回用于播放声音的Action。如果
key是non-null,一个Action使用从与键的默认值的值创建key。 该值标识在actionPerformed上调用Action时要加载的声音资源。 声音资源通过byte[]加载到getClass().getResourceAsStream()。- 参数
-
key- 标识音频动作的键 - 结果
-
Action用于播放源,或null如果key是null - 从以下版本开始:
- 1.4
- 另请参见:
-
playSound(Action)
-
playSound
protected void playSound(Action audioAction)
如有必要,请actionPerformed,audioAction播放声音。 的actionPerformed,如果值方法被调用"AuditoryCues.playList"默认为non-nullObject[]含有String条目等于的名称audioAction。- 参数
-
audioAction- 一个知道如何呈现与正在发生的系统或用户活动相关联的音频的动作; 值为null,将被忽略 - 异常
-
ClassCastException- 如果audioAction是non-null并且默认值"AuditoryCues.playList"不是Object[] - 从以下版本开始:
- 1.4
-
-