剖析格式化標記

FormText 控制項最強大的用法, 是將格式化的標示加入文字中。預期的 root 標示為 form。 它可以有一或多個為 <p><li> 子項。 任一個都可以有一般文字、在 <b> <span> 標示之間的文字、影像、鏈結和 SWT 控制項。影像會使用 <img href="image key"/>(沒有內容)來宣告, 而鏈結則會利用 <a href="href">text</a> 來表示。

上述部分標示有其他的屬性。標示 <a> 可以接受 nowrap="true" 來避免鏈結折成新行。標示 <p> 可以有 vspace="false"(預設值為 true)屬性, 其會在段落之間加入額外的空白。標示 <li> 有比較多的屬性:

會影響一般文字外觀的標示為 <b>(作用如預期)以及 <span>。 後者可讓您變更標示內文字的字型和/或顏色。 最後,可以使用 <br/> 標示加入軟性換行(請注意這是 XML,因此您不能像在 HTML 中一樣使用開放式的 <br>)。

自 3.1 版開始,FormText 可以用來在文字、超鏈結和影像內混合 SWT 小組件。SWT 控制項會建立成 FormText 的子項,使 FormText 成為一種佈置管理程式, 並直接在 XML 中指出放置內嵌文字相關控制項的位置。

一個值得觀察的常見話題是,FormText 不負責載入影像、字型、 解析鏈結或顏色。這並不是瀏覽器,因此最好將這些事分開, 只要指派別處管理的影像和顏色即可。鏈結和影像兩者都只有 'href' 屬性來參照它們。針對鏈結,這個屬性的值會於通知接聽器時, 提供在超鏈結事件中。您需要使用相符的 'href' 索引鍵, 以文字控制項登錄影像。如此一來, 控制項即不需要考慮載入影像的問題 - 這些影像會放在雜湊表中, 且可以立即呈現。

類似的做法也用在顏色與字型。顏色已由工具箱處理, 因此您可以呼叫 toolkit.getColors().createColor(), 利用唯一鍵和 RGB 值,即可配置您需要的色彩數量。 剩下的就是在 'span' 標示中設定所有參照的顏色, 使得控制項能夠在呈現期間加以使用。