所有类


软件包 javax.swing.plaf.synth

Synth 是一个可更换皮肤 (skinnable) 的外观,在其中可委托所有绘制。

请参见:
          描述

接口摘要
SynthConstants 由 Synth 使用的常量。
 

类摘要
ColorType 可从某种风格中获取的一些颜色的类型安全枚举。
Region Swing 组件的独特呈现区域。
SynthContext 一个不可变的瞬态对象,它包含有关 Region 的上下文信息。
SynthGraphicsUtils 用于基本图形调用的包装器。
SynthLookAndFeel SynthLookAndFeel 提供创建自定义外观的基础。
SynthPainter SynthPainter 用于绘制 JComponent 的某些部分。
SynthStyle SynthStyle 是一个样式属性集。
SynthStyleFactory 用于获得 SynthStyle 的工厂。
 

软件包 javax.swing.plaf.synth 的描述

Synth 是一个可更换皮肤 (skinnable) 的外观,在其中可委托所有绘制。Synth 不提供默认外观。为了使用 Synth,需要指定一个 file,或提供一个 SynthStyleFactory。两种配置选项都要求了解 synth 的架构(该架构如下所示),并了解 Swing 的架构。

Synth

Synth 中的每个 ComponentUI 实现都将自身与每个 Region 的一个 SynthStyle 相关联,大多数 Component 只能有一个 Region,所以也就只有一个 SynthStyleSynthStyle 用于访问所有与样式有关的属性:fonts、colors 和其他 Component 属性。此外,SynthStyle 用于获得绘制背景、边框、焦点和 Component 的其他部分的 SynthPainterComponentUISynthStyleFactory 中获得 SynthStyle。可直接通过 SynthLookAndFeel.setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory) 或间接通过 SynthLookAndFeel.load(java.io.InputStream, java.lang.Class) 提供 SynthStyleFactory。以下示例使用 SynthLookAndFeel.load() 方法来配置 SynthLookAndFeel,并将它设置为当前外观:

  SynthLookAndFeel laf = new SynthLookAndFeel();
  laf.load(MyClass.class.getResourceAsStream("laf.xml"), MyClass.class);
  UIManager.setLookAndFeel(laf);
      

许多 JComponent 被拆分成更小的块,并由 Region 中类型安全的枚举来标识。例如,JTabbedPaneJTabbedPaneRegion (Region.TABBED_PANE)、内容区域 (Region.TABBED_PANE_CONTENT)、选项卡背后的区域 (Region.TABBED_PANE_TAB_AREA) 和选项卡 (Region.TABBED_PANE_TAB) 组成。每个 JComponent 的每个 Region 都将有一个 SynthStyle。这允许您自定义每个 JComponent 的每个区域的个别片段。

许多 Synth 方法都采用一个 SynthContext。SynthContext 用于提供有关当前 Component 的信息,这些信息包括:与当前 Region 关联的 SynthStyle、位掩码形式的 Component 状态(有关有效状态,请参阅 SynthConstants)和一个标识正被绘制的 Component 部分的 Region

由非 JTextComponent 呈现的所有文本都被委托给 SynthGraphicsUtils,可以使用 SynthStyle 的方法 SynthStyle.getGraphicsUtils(javax.swing.plaf.synth.SynthContext) 获取。通过提供自己的 SynthGraphicsUtils,可以自定义文本呈现。

除非另有说明,否则 null 对于 synth 中定义的所有方法而言都不是合法值,如果传入 null,将导致 NullPointerException


所有类

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部