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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ComponentUI为传入的JComponent创建Synth外观ComponentUI。返回此SynthLookAndFeel的默认值。返回SynthLookAndFeel的文本描述。getID()返回标识此外观的字符串。getName()返回标识此外观的简短字符串。static Region返回c的JComponent的Region。static SynthStylegetStyle(JComponent c, Region region) 获取指定组件的指定区域的SynthStyle。static SynthStyleFactory返回当前的SynthStyleFactory。void当安装此外观时由UIManager调用。boolean返回false,SynthLookAndFeel不是本机外观。boolean返回true,SynthLookAndFeel始终受支持。voidload(InputStream input, Class<?> resourceBase) 加载将由此SynthLookAndFeel使用的一组SynthStyle。void已弃用,将来会被移除:此API元素可能会在将来的版本中被移除。static voidsetStyleFactory(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, playSoundMethods 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)