java.lang.Object
javax.swing.LookAndFeel
javax.swing.plaf.basic.BasicLookAndFeel
javax.swing.plaf.synth.SynthLookAndFeel
- 所有已实现的接口:
-
Serializable
- 直接已知的子类:
-
NimbusLookAndFeel
SynthLookAndFeel提供了创建自定义外观的基础。SynthLookAndFeel不直接提供外观,所有绘制都是委托的。您需要通过
load(java.io.InputStream, java.lang.Class<?>)
方法提供配置文件,或者提供自己的SynthStyleFactory
来setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory)
。请参考包摘要中加载文件的示例,以及SynthStyleFactory
提供自己的SynthStyleFactory
给setStyleFactory
的示例。
SynthIcon
接口提供了paintIcon(synthContext, graphics, x, y, width, height)
方法,允许使用给定的SynthContext
绘制图标。
警告:此类作为扩展BasicLookAndFeel
的副作用实现了Serializable
。它不打算被序列化。尝试对其进行序列化将导致NotSerializableException
。
- 自 JDK 版本:
- 1.5
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic ComponentUI
为传入的JComponent
创建Synth外观ComponentUI
。返回此SynthLookAndFeel的默认值。返回SynthLookAndFeel的文本描述。getID()
返回标识此外观的字符串。getName()
返回标识此外观的简短字符串。static Region
返回c
的JComponent的Region。static SynthStyle
getStyle
(JComponent c, Region region) 获取指定组件的指定区域的SynthStyle。static SynthStyleFactory
返回当前的SynthStyleFactory。void
当安装此外观时由UIManager调用。boolean
返回false,SynthLookAndFeel不是本机外观。boolean
返回true,SynthLookAndFeel始终受支持。void
load
(InputStream input, Class<?> resourceBase) 加载将由此SynthLookAndFeel使用的一组SynthStyle
。void
已弃用,将来会被移除:此API元素可能会在将来的版本中被移除。static void
setStyleFactory
(SynthStyleFactory cache) 设置UI类提供的Synth将用于获取SynthStyle的SynthStyleFactory。boolean
返回UI是否应在JComponent
的祖先更改时从SynthStyleFactory
更新其SynthStyles
。protected boolean
返回UI是否应在发生特定事件时更新其样式。void
当卸载此外观时由UIManager调用。static void
更新与c
及其所有子项关联的样式。Methods declared in class javax.swing.plaf.basic.BasicLookAndFeel
createAudioAction, getAudioActionMap, initClassDefaults, initComponentDefaults, initSystemColorDefaults, loadSystemColors, playSound
Methods declared in class javax.swing.LookAndFeel
getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getLayoutStyle, getSupportsWindowDecorations, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninstallBorder
-
Constructor Details
-
SynthLookAndFeel
public SynthLookAndFeel()创建一个SynthLookAndFeel。为了使返回的
SynthLookAndFeel
有用,您需要调用load
来指定SynthStyle
集,或者调用setStyleFactory
。- 参见:
-
-
Method Details
-
setStyleFactory
设置UI类提供的Synth将用于获取SynthStyle的SynthStyleFactory。- 参数:
-
cache
- UI应使用的SynthStyleFactory。
-
getStyleFactory
返回当前的SynthStyleFactory。- 返回:
- SynthStyleFactory
-
getStyle
获取指定组件的指定区域的SynthStyle。这不是供一般使用的,只有自定义UI应调用此方法。- 参数:
-
c
- 要为其获取SynthStyle的JComponent -
region
- 标识指定组件的区域 - 返回:
- 要使用的SynthStyle。
-
updateStyles
更新与c
及其所有子项关联的样式。这是SwingUtilities.updateComponentTreeUI
的轻量级版本。- 参数:
-
c
- 要更新样式的组件。
-
getRegion
返回c
的JComponent的Region。- 参数:
-
c
- 要获取区域的JComponent - 返回:
-
与
c
对应的Region
-
createUI
为传入的JComponent
创建Synth外观ComponentUI
。- 参数:
-
c
- 要为其创建ComponentUI
的JComponent - 返回:
-
用于
c
的ComponentUI
-
load
加载将由此SynthLookAndFeel使用的一组SynthStyle
。使用resourceBase
来解析任何基于路径的资源,例如Image
将通过resourceBase.getResource(path)
解析。有关更多信息,请参阅Synth文件格式。- 参数:
-
input
- 要加载的InputStream -
resourceBase
- 用于解析任何图像或其他资源 - 抛出:
-
ParseException
- 如果解析时出现错误 -
IllegalArgumentException
- 如果输入或resourceBase为null
-
load
@Deprecated(since="21", forRemoval=true) public void load(URL url) throws ParseException, IOException Deprecated, for removal: This API element is subject to removal in a future version.Useload(InputStream, Class)
orsetStyleFactory(SynthStyleFactory)
instead加载将由此SynthLookAndFeel使用的一组SynthStyle
。基于路径的资源相对于样式的指定URL
解析。例如,Image
将通过new URL(synthFile, path)
解析。有关更多信息,请参阅Synth文件格式。虽然此API可能安全用于加载与
LookAndFeel
或应用程序一起提供且与应用程序代码具有相同信任级别的本地资源,因此具有相同的信任级别,但强烈不建议使用它从远程资源加载,特别是可能具有较低信任级别的资源。推荐使用替代机制从InputStream
加载样式load(InputStream, Class),使用与应用程序共存的资源或通过提供SynthStyleFactory
给setStyleFactory(SynthStyleFactory)。因此,此方法已被弃用,并将在将来的版本中删除。- 参数:
-
url
- 从中加载SynthStyle
集的URL
- 抛出:
-
ParseException
- 如果解析时出现错误 -
IllegalArgumentException
- 如果synthSet为null
-
IOException
- 如果synthSet无法作为InputStream
打开 - 自 JDK 版本:
- 1.6
-
initialize
public void initialize()当安装此外观时由UIManager调用。- 覆盖:
-
initialize
在类LookAndFeel
中 - 参见:
-
uninitialize
public void uninitialize()当卸载此外观时由UIManager调用。- 覆盖:
-
uninitialize
在类LookAndFeel
中 - 参见:
-
getDefaults
返回此SynthLookAndFeel的默认值。- 覆盖:
-
getDefaults
在类BasicLookAndFeel
- 返回:
- 默认表。
- 参见:
-
isSupportedLookAndFeel
public boolean isSupportedLookAndFeel()返回true,SynthLookAndFeel始终受支持。- 指定者:
-
isSupportedLookAndFeel
在类LookAndFeel
- 返回:
- true。
- 参见:
-
isNativeLookAndFeel
public boolean isNativeLookAndFeel()返回false,SynthLookAndFeel不是本机外观。- 指定者:
-
isNativeLookAndFeel
在类LookAndFeel
- 返回:
- false
-
getDescription
返回SynthLookAndFeel的文本描述。- 指定者:
-
getDescription
在类LookAndFeel
- 返回:
- synth的文本描述。
-
getName
返回标识此外观的简短字符串。- 指定者:
-
getName
在类LookAndFeel
- 返回:
- 标识此外观的简短字符串。
-
getID
返回标识此外观的字符串。- 指定者:
-
getID
在类LookAndFeel
- 返回:
- 标识此外观的简短字符串。
-
shouldUpdateStyleOnAncestorChanged
public boolean shouldUpdateStyleOnAncestorChanged()返回UI是否应在JComponent的祖先更改时从SynthStyleFactory更新其SynthStyles。如果提供了基于包含关系的getStyle返回值的SynthStyleFactory的子类,应覆盖此方法以返回true。- 返回:
- 当祖先更改时,UI是否应从SynthStyleFactory更新其SynthStyles。
-
shouldUpdateStyleOnEvent
返回UI是否应在特定事件发生时更新其样式。- 参数:
-
ev
- 一个PropertyChangeEvent
- 返回:
- UI是否应更新其样式
- 自:
- 1.7
-
load(InputStream, Class)
或setStyleFactory(SynthStyleFactory)