在文本中添加了格式化标记后,FormText
控件的功能将最为强大。预期的根标记是
form
。它可以有一个或多个子标记,子标记可以是 <p>
或 <li>
。这些子标记可以包含正常文本、<b>
或
<span>
标记之间的文本、图像、链接和 SWT
控件。图像是使用
<img href="image key"/>
(无内容)声明的,而链接是使用 <a href="href">text</a>
表达的。
上面提到的某些标记可以有其它属性。标记 <a>
可以接受
nowrap="true"
以便不允许链接换行。标记 <p>
可以带有属性 vspace="false"
(缺省值为
true
),该属性在段落之间添加附加的空格。标记 <li>
有更多的属性:
style - 可以是 text
、bullet
和 image
(缺省值是 bullet
)
value - 不适用于 bullet
;如果样式是
text
,则将显示值而不是项目符号;如果样式是
image
,则值表示某一要显示的图像在图像表中的键,该图像用来代替项目符号
vspace - 与“p
”标记的此属性相同。
indent - 文本的缩进像素数
bindent - 项目符号的缩进像素数(此数目与“indent”无关 - 务必不要使它们重叠)
影响正常文本外观的标记是 <b>
(能够发挥预期作用)和
<span>
。后者允许您更改标记中的文本的字体和/或颜色。最后,可以使用
<br/>
标记来添加软换行符(注意,这是 XML,所以不能象在
HTML 中那样使用起始 <br>
)。
从 R3.1 开始,可以使用 FormText
来在文本、超链接和图像中混合使用
SWT 窗口小部件。SWT 控件是作为 FormText
的子代创建的,这使
FormText
成为一种布局管理器,并提供了指示信息来说明相对于
XML 中直接嵌入的文本在什么位置放置控件。
可常看到的一种情况是,FormText
不负责装入图像和字体以及解析链接或颜色。这不是浏览器,因此将问题分隔开并仅仅指定在别处管理的图像和颜色会好得多。链接和图像都简单地使用“href
”属性来引用它们。对于链接来说,此属性的值将在侦听器接到通知时在超链接事件中提供。需要使用匹配的“href”键对文本控件注册图像。这样,该控件就不必考虑装入图像 - 它可以通过散列表找到它们并立即显示它们。
类似的方法已用于颜色和字体。工具箱已经处理了颜色,所以可以通过调用
toolkit.getColors().createColor()
,使用唯一的键和 RGB 值来分配任意多的颜色。需要做的只是设置“span
”标记中引用的所有颜色以使控件能够在显示期间使用它们。