javax.swing.plaf.synth

接口
java.lang.Object
  继承者 javax.swing.LookAndFeel
      继承者 javax.swing.plaf.basic.BasicLookAndFeel
          继承者 javax.swing.plaf.synth.SynthLookAndFeel
所有已实现的接口:
Serializable

public class SynthLookAndFeel
     
extends BasicLookAndFeel

SynthLookAndFeel 提供创建定制外观的基础。SynthLookAndFeel 不直接提供一个外观,所有绘制都被委托。您需要通过 load(java.io.InputStream, java.lang.Class ) 方法提供一个配置文件,或者给 setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory) 提供自己的 SynthStyleFactory。有关加载文件的示例,请参阅包摘要,有关为 setStyleFactory 提供自己的 SynthStyleFactory 的示例,请参阅 SynthStyleFactory

警告:此类实现 Serializable,这是扩展 BasicLookAndFeel 的副作用。此类并不打算被序列化。试图对该类进行序列化将导致 NotSerializableException

从以下版本开始:
1.5

构造方法摘要
SynthLookAndFeel()
          创建一个 SynthLookAndFeel。
 
方法摘要
static ComponentUI createUI(JComponent c)
          为传入的 JComponent 创建 Synth 外观 ComponentUI
 UIDefaults getDefaults()
          返回此 SynthLookAndFeel 的默认值。
 String getDescription()
          返回 SynthLookAndFeel 的文本描述。
 String getID()
          返回一个标识此外观的短字符串。
 String getName()
          返回一个标识此外观的短字符串。
static Region getRegion(JComponent c)
          返回 JComponent c 的 Region。
static SynthStyle getStyle(JComponent c, Region region)
          获取指定组件的指定 region 的 SynthStyle。
static SynthStyleFactory getStyleFactory()
          返回当前 SynthStyleFactory。
 void initialize()
          在安装此外观时由 UIManager 调用。
 boolean isNativeLookAndFeel()
          返回 false,SynthLookAndFeel 不是一个本机外观。
 boolean isSupportedLookAndFeel()
          返回 true,SynthLookAndFeel 总是受支持。
 void load(InputStream input, Class<?> resourceBase)
          加载此 SynthLookAndFeel 将使用的 SynthStyle 集合。
 void load(URL url)
          加载此 SynthLookAndFeel 将使用的 SynthStyle 集合。
static void setStyleFactory(SynthStyleFactory cache)
          设置 SynthStyleFactory,由 synth 提供的 UI 类将使用它来获取 SynthStyle。
 boolean shouldUpdateStyleOnAncestorChanged()
          返回在 JComponent 的祖先发生更改时,UI 是否应该更新 SynthStyleFactory 中的 SynthStyles
 void uninitialize()
          在卸载此外观时由 UIManager 调用。
static void updateStyles(Component c)
          更新与 c 关联的样式以及其所有子样式。
 
从类 javax.swing.plaf.basic.BasicLookAndFeel 继承的方法
createAudioAction, getAudioActionMap, initClassDefaults, initComponentDefaults, initSystemColorDefaults, loadSystemColors, playSound
 
从类 javax.swing.LookAndFeel 继承的方法
getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getLayoutStyle, getSupportsWindowDecorations, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninstallBorder
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

SynthLookAndFeel

public SynthLookAndFeel()
创建一个 SynthLookAndFeel。

为使返回的 SynthLookAndFeel 变得有用,需要调用 load 来指定 SynthStyle 的集合,或调用 setStyleFactory

另请参见:
load(java.io.InputStream, java.lang.Class ), setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory)
方法详细信息

setStyleFactory

public static void setStyleFactory(SynthStyleFactory cache)
设置 SynthStyleFactory,由 synth 提供的 UI 类将使用它来获取 SynthStyle。

参数:
cache - UI 应该使用的 SynthStyleFactory。

getStyleFactory

public static SynthStyleFactory getStyleFactory()
返回当前 SynthStyleFactory。

返回:
SynthStyleFactory

getStyle

public static SynthStyle getStyle(JComponent c,
                                  Region region)
获取指定组件的指定 region 的 SynthStyle。这并非用于一般的使用情况,只有自定义 UI 才应该使用此方法。

参数:
c - 要获取 SynthStyle 的 JComponent
region - 标识指定组件的 region
返回:
要使用的 SynthStyle。

updateStyles

public static void updateStyles(Component c)
更新与 c 关联的样式以及其所有子样式。这是一个颜色更浅的 SwingUtilities.updateComponentTreeUI

参数:
c - 要更新样式的 Component。

getRegion

public static Region getRegion(JComponent c)
返回 JComponent c 的 Region。

参数:
c - 要获取 Region 的 JComponent
返回:
对应于 c 的 Region

createUI

public static ComponentUI createUI(JComponent c)
为传入的 JComponent 创建 Synth 外观 ComponentUI

参数:
c - 要创建 ComponentUI 的 JComponent
返回:
用于 c 的 ComponentUI

load

public void load(InputStream input,
                 Class<?> resourceBase)
          throws ParseException
加载此 SynthLookAndFeel 将使用的 SynthStyle 集合。 resourceBase 用于解析所有基于路径的资源,例如, Image 将由 resourceBase.getResource(path) 解析。有关更多信息,请参阅 Synth File Format

参数:
input - 从中加载数据的 InputStream
resourceBase - 用于解析所有图像或其他资源
抛出:
ParseException - 如果解析过程中发生错误
IllegalArgumentException - 如果 input 或 resourceBase 为 null

load

public void load(URL url)
          throws ParseException,
                 IOException
加载此 SynthLookAndFeel 将使用的 SynthStyle 集合。基于路径的资源相对于指定的风格 URL 进行解析。例如, Image 将通过 new URL(synthFile, path) 进行解析。有关更多信息,请参阅 Synth File Format

参数:
url - 从中加载 SynthStyle 集合的 URL
抛出:
ParseException - 如果解析过程中发生错误
IllegalArgumentException - 如果 synthSet 为 null
IOException - 如果 synthSet 不能作为 InputStream 打开
从以下版本开始:
1.6

initialize

public void initialize()
在安装此外观时由 UIManager 调用。

覆盖:
BasicLookAndFeel 中的 initialize
另请参见:
LookAndFeel.uninitialize(), UIManager.setLookAndFeel(javax.swing.LookAndFeel)

uninitialize

public void uninitialize()
在卸载此外观时由 UIManager 调用。

覆盖:
BasicLookAndFeel 中的 uninitialize
另请参见:
LookAndFeel.initialize(), UIManager.setLookAndFeel(javax.swing.LookAndFeel)

getDefaults

public UIDefaults getDefaults()
返回此 SynthLookAndFeel 的默认值。

覆盖:
BasicLookAndFeel 中的 getDefaults
返回:
默认表。
另请参见:
BasicLookAndFeel.initClassDefaults(javax.swing.UIDefaults), BasicLookAndFeel.initSystemColorDefaults(javax.swing.UIDefaults), BasicLookAndFeel.initComponentDefaults(javax.swing.UIDefaults)

isSupportedLookAndFeel

public boolean isSupportedLookAndFeel()
返回 true,SynthLookAndFeel 总是受支持。

指定者:
LookAndFeel 中的 isSupportedLookAndFeel
返回:
true。
另请参见:
UIManager.setLookAndFeel(javax.swing.LookAndFeel)

isNativeLookAndFeel

public boolean isNativeLookAndFeel()
返回 false,SynthLookAndFeel 不是一个本机外观。

指定者:
LookAndFeel 中的 isNativeLookAndFeel
返回:
false。

getDescription

public String getDescription()
返回 SynthLookAndFeel 的文本描述。

指定者:
LookAndFeel 中的 getDescription
返回:
synth 的文本描述。

getName

public String getName()
返回一个标识此外观的短字符串。

指定者:
LookAndFeel 中的 getName
返回:
标识此外观的短字符串。

getID

public String getID()
返回一个标识此外观的短字符串。

指定者:
LookAndFeel 中的 getID
返回:
标识此外观的短字符串。

shouldUpdateStyleOnAncestorChanged

public boolean shouldUpdateStyleOnAncestorChanged()
返回在 JComponent 的祖先发生更改时,UI 是否应该更新 SynthStyleFactory 中的 SynthStyles。提供了 SynthStyleFactory(基于容器层次结构的 getStyle 中返回的值)的子类将重写此方法以返回 true。

返回:
在祖先发生更改时,UI 是否应该更新 SynthStyleFactory 中的 SynthStyles