技术开发 频道

高级 Synth

  为 demo 应用程序创建外观的第一步是设置默认颜色和字体。您将把 white Aharoni 字体作为每个组件的默认字体,如果没有特殊设置组件的话,就使用这种字体。

  您可以将更改字体的 XML 放在<style>签内的任何地方。还可以将颜色嵌入到一个<style>标签中。在本文的后面部分,我将更详细地讨论<style>签,但现在只需知道,一个简单的、不带属性的<style>签可以包含任何状态,这个标签正是您在这里所需要的。

  color 标签本身需要两个属性:

  value 可以是 java.awt.Color 常量的任何 String 表示(例如 RED、BLUE),或者,它可以是一种颜色的十六进制表示,前面加上 "#" (例如 #669966)。

  type 描述文件应该设置哪个区域的颜色。选择有 BACKGROUND、FOREGROUND、TEXT_FOREGROUND、TEXT_BACKGROUND 和 FOCUS。

  font 标签有两个必需的属性和一个可选属性。这三个属性直接映射到 java.awt.Font 类中的三个参数:

  name :字体的名称(例如,Verdana、Arial)。

  size :字体大小,以像素为单位。

  style :如果不使用这个可选标签,那么将得到常规外观的字体。其他选项包括 BOLD 和 ITALIC。您还可以通过在这两个属性之间加一个空格来指定粗体加斜体的字体:BOLD ITALIC(这种组合属性的技术对于 Synth XML 文件中的所有属性都适用)。

  最后,通过使用 .* wildcard,将这个式样绑定到应用程序中的每个组件,而不是将其绑定到每个 JLabel 和每个JButton。这个通配符告诉 Synth 外观为每个组件指定一个默认的 white Aharoni 字体。清单 3 展示了用于设置组件字体和颜色的完整 XML 代码:

  清单 3. 更改多个组件的字体和颜色

1 <style id="default">
2    <font name="Aharoni" size="14"/>
3    <state>
4       <color value="#FFFFFF" type="FOREGROUND"/>
5    </state>
6 </style>
7 <bind style="default" type="region" key=".*"/>
8
0