- java.lang.Object
-
- javax.swing.LookAndFeel
-
- javax.swing.plaf.basic.BasicLookAndFeel
-
- All Implemented Interfaces:
-
Serializable
- 已知直接子类:
-
MetalLookAndFeel,SynthLookAndFeel
public abstract class BasicLookAndFeel extends LookAndFeel implements Serializable
用于创建Swing的外观的基础类。ComponentUI提供的BasicLookAndFeel每一个从默认表中导出其行为。 除非另有说明,否则此包中的每个ComponentUI实现都将记录它们使用的一组默认值。 除非另有说明默认值是在安装的时候installUI被调用,并按照概述的建议LookAndFeel安装的默认值。警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,支持所有JavaBeans的长期存储已被添加到
java.beans包中。 请参阅XMLEncoder。- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 BasicLookAndFeel()
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected ActioncreateAudioAction(Object key)创建并返回一个用于播放声音的Action。protected ActionMapgetAudioActionMap()返回一个包含这种外观的音频动作的ActionMap。UIDefaultsgetDefaults()返回外观和默认值。protected voidinitClassDefaults(UIDefaults table)填写table,其映射关系从uiClassID到ui类的完全限定名称。protected voidinitComponentDefaults(UIDefaults table)填充table的基本外观和默认值。voidinitialize()初始化外观和感觉。protected voidinitSystemColorDefaults(UIDefaults table)用系统颜色填充table。protected voidloadSystemColors(UIDefaults table, String[] systemColors, boolean useNative)填充table与name-color对在systemColors。protected voidplaySound(Action audioAction)如有必要,可actionPerformedaudioAction播放声音。voiduninitialize()初始化外观和感觉。-
Methods inherited from class javax.swing.LookAndFeel
getDescription, getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getID, getLayoutStyle, getName, getSupportsWindowDecorations, installBorder, installColors, installColorsAndFont, installProperty, isNativeLookAndFeel, isSupportedLookAndFeel, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninstallBorder
-
-
-
-
方法详细信息
-
getDefaults
public UIDefaults getDefaults()
返回外观和默认值。 返回UIDefaults被调用,从而,填充initClassDefaults,initSystemColorDefaults和initComponentDefaults。虽然这种方法是公开的,但是当外观和感觉被设置为当前的外观并且在调用
initialize之后,它应该仅由UIManager调用。
-
initialize
public void initialize()
初始化外观和感觉。 虽然这种方法是公开的,但是只有当安装了外观和现在的外观时,才应该由UIManager调用。 在UIManager调用getDefaults之前调用此方法。 该方法旨在对外观进行任何初始化。 子类应该在这里进行任何一次性设置,而不是在静态初始化器中进行任何一次性设置,因为可以加载外观和感觉类对象,以发现isSupportedLookAndFeel()返回false。
-
uninitialize
public void uninitialize()
初始化外观和感觉。 虽然这种方法是公开的,但是只有当外观和感觉被卸载时才应该由UIManager调用。 例如,当外观和感觉改变时,UIManager.setLookAndFeel调用这个。子类可以选择在这里释放一些资源。
-
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对中的两个: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和name-color对中的colors之一是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"阵列,并调用createAudioAction()创建Action用于每个元素。 所得到的Action被放置在ActionMapUIResource,使用数组元素作为关键。 例如,如果"AuditoryCues.cueList"数组包含单元素"audioKey",则创建ActionMapUIResource,然后通过actionMap.put(cueList[0], createAudioAction(cueList[0]))填充。如果默认值
"AuditoryCues.actionMap"为null,默认值"AuditoryCues.cueList"为null,空ActionMapUIResource被创建。- 结果
-
一个ActionMap包含
Actions负责播放听觉线索 - 异常
-
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
-
-