- java.lang.Object
-
- javax.swing.LookAndFeel
-
- javax.swing.plaf.basic.BasicLookAndFeel
-
- 实现的所有接口
-
Serializable
- 已知直接子类:
-
MetalLookAndFeel
,SynthLookAndFeel
public abstract class BasicLookAndFeelextends LookAndFeelimplements Serializable
用于为Swing创建外观的基类。由
BasicLookAndFeel
提供的每个ComponentUI
从默认表中派生其行为。 除非另有说明,否则此包中的每个ComponentUI
实现都会记录它们使用的默认设置。 除非另有说明默认值是在安装的时候installUI
被调用,并按照概述的建议LookAndFeel
安装的默认值。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,对
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 BasicLookAndFeel()
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 protected Action
createAudioAction(Object key)
创建并返回用于播放声音的Action
。protected ActionMap
getAudioActionMap()
返回包含此外观的音频动作的ActionMap
。UIDefaults
getDefaults()
返回外观默认值。protected void
initClassDefaults(UIDefaults table)
填充table
从映射uiClassID
到ui类的完全限定名。protected void
initComponentDefaults(UIDefaults table)
使用基本外观的默认值填充table
。protected void
initSystemColorDefaults(UIDefaults table)
使用系统颜色填充table
。protected void
loadSystemColors(UIDefaults table, String[] systemColors, boolean useNative)
填充table
与name-color
成对systemColors
。protected void
playSound(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"
。 例如,uiClassID
TreeUI
值为"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-null
Object[]
含有String
条目等于的名称audioAction
。- 参数
-
audioAction
- 一个知道如何呈现与正在发生的系统或用户活动相关联的音频的动作; 值为null
,将被忽略 - 异常
-
ClassCastException
- 如果audioAction
是non-null
并且默认值"AuditoryCues.playList"
不是Object[]
- 从以下版本开始:
- 1.4
-
-