- 所有已实现的接口:
-
Serializable
- 直接已知的子类:
-
MetalLookAndFeel,SynthLookAndFeel
BasicLookAndFeel 提供的每个 ComponentUI 都从默认表中获取其行为。除非另有说明,否则此包中的每个 ComponentUI 实现都记录了它们使用的默认值集。除非另有说明,默认值在调用 installUI 时安装,并遵循 LookAndFeel 中关于安装默认值的建议。
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到 java.beans 包中。请参阅 XMLEncoder。
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ActioncreateAudioAction(Object key) 创建并返回用于播放声音的Action。protected ActionMap返回包含此外观的音频操作的ActionMap。返回外观的默认值。protected voidinitClassDefaults(UIDefaults table) 使用从uiClassID到ui类的完全限定名称的映射填充table。protected voidinitComponentDefaults(UIDefaults table) 使用基本外观的默认值填充table。protected void使用系统颜色填充table。protected voidloadSystemColors(UIDefaults table, String[] systemColors, boolean useNative) 使用systemColors中的name-color对填充table。protected void如有必要,调用audioAction上的actionPerformed来播放声音。Methods declared in class 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
-
Constructor Details
-
BasicLookAndFeel
protected BasicLookAndFeel()子类调用的构造函数。
-
-
Method Details
-
getDefaults
返回外观的默认值。返回的UIDefaults是通过按顺序调用initClassDefaults、initSystemColorDefaults和initComponentDefaults来填充的。虽然此方法是公共的,但应仅在将外观设置为当前外观并在调用
initialize后由UIManager调用。- 覆盖:
-
getDefaults在类LookAndFeel中 - 返回:
- 外观的默认值
- 参见:
-
initClassDefaults
使用从uiClassID到ui类的完全限定名称的映射填充table。特定uiClassID的值为"javax.swing.plaf.basic.Basic + uiClassID"。例如,TreeUI的值为"javax.swing.plaf.basic.BasicTreeUI"。- 参数:
-
table- 要添加条目的UIDefaults实例 - 抛出:
-
NullPointerException- 如果table为null - 参见:
-
initSystemColorDefaults
使用系统颜色填充table。这将创建一个name-color对的数组并调用loadSystemColors。名称是一个
String,对应于SystemColor类中静态SystemColor字段的名称。为每个这样的SystemColor字段创建一个name-color对。color对应于由Color.decode理解的十六进制String。例如,一个name-color对是"desktop"-"#005C5C"。这对应于SystemColor字段desktop,颜色值为new Color(0x005C5C)。以下显示了两个
name-color对:String[] nameColorPairs = new String[] { "desktop", "#005C5C", "activeCaption", "#000080" }; loadSystemColors(table, nameColorPairs, isNativeLookAndFeel());如前所述,这将使用提供的table和name-color对数组调用loadSystemColors。loadSystemColors的最后一个参数指示是否应使用SystemColor中的字段值。此方法将isNativeLookAndFeel()的值作为loadSystemColors的最后一个参数传递。- 参数:
-
table- 要添加值的UIDefaults对象 - 抛出:
-
NullPointerException- 如果table为null - 参见:
-
loadSystemColors
使用systemColors中的name-color对填充table。有关systemColors格式的详细信息,请参阅initSystemColorDefaults(UIDefaults)。systemColors中的每个name-color对在table中添加一个条目。name-color对的name。name-color对的color。条目的值通过以下两种方式之一计算。无论哪种方法,值始终为ColorUIResource。useNative为false,则通过使用Color.decode将String转换为Color来创建color。如果decode无法将String转换为Color(抛出NumberFormatException),则使用黑色的ColorUIResource。useNative为true,则color是与name-color对的name相同的SystemColor中的字段值。如果字段无效,则使用黑色的ColorUIResource。- 参数:
-
table- 要添加值的UIDefaults对象 -
systemColors- 如initSystemColorDefaults(UIDefaults)中所述的name-color对数组 -
useNative- 颜色是从SystemColor还是Color.decode获取 - 抛出:
-
NullPointerException- 如果systemColors为null;或systemColors不为空,且table为null;或name-color对的名称之一为null;或useNative为false且name-color对的color之一为null -
ArrayIndexOutOfBoundsException- 如果useNative为false且systemColors.length为奇数 - 参见:
-
initComponentDefaults
使用基本外观的默认值填充table。- 参数:
-
table- 要添加值的UIDefaults - 抛出:
-
NullPointerException- 如果table为null
-
getAudioActionMap
返回一个包含此外观的音频操作的ActionMap。返回的
ActionMap包含体现渲染听觉提示能力的Actions。这些听觉提示映射到用户和系统活动,对于最终用户了解这些活动可能是有用的(例如对话框出现)。在适当的时候,
ComponentUI负责从ActionMap中获取一个Action并将其传递给playSound。此方法首先使用键
"AuditoryCues.actionMap"从默认值中查找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。- 返回:
-
包含负责播放听觉提示的
Actions的ActionMap - 抛出:
-
ClassCastException- 如果默认"AuditoryCues.actionMap"的值不是ActionMap,或默认"AuditoryCues.cueList"的值不是Object[] - 自:
- 1.4
- 参见:
-
createAudioAction
创建并返回用于播放声音的Action。如果
key为non-null,则使用键key从默认值创建一个Action。该值标识在Action上调用actionPerformed时要加载的声音资源。声音资源通过getClass().getResourceAsStream()加载到一个byte[]中。- 参数:
-
key- 标识音频操作的键 - 返回:
-
用于播放源的
Action,如果key为null则返回null - 自:
- 1.4
- 参见:
-
playSound
如有必要,调用audioAction上的actionPerformed来播放声音。如果默认"AuditoryCues.playList"的值是包含与audioAction名称相等的String条目的non-nullObject[],则调用actionPerformed方法。- 参数:
-
audioAction- 一个知道如何渲染与正在发生的系统或用户活动相关的音频的Action;如果为null,则忽略 - 抛出:
-
ClassCastException- 如果audioAction为non-null且默认"AuditoryCues.playList"的值不是Object[] - 自:
- 1.4
-