Eclipseプラグイン実践テクニック(5)

Eclipse Formsでリッチクライアントアプリ開発



NTTデータ先端技術 竹添直樹
NTTデータ 基盤システム事業本部 岡本隆史
2007/1/19



 フォームにHTMLテキストを表示させるには?

 これまでの例でも見てきたとおり、Eclipse FormsはEclipse上にWebページライクなユーザーインターフェイスを提供します。FormTextウィジェットを使用することで、フォームにHTMLを表示することも可能です。FormTextウィジェットはFormToolkit#createFormText()で作成します。

リスト5 FormTextの使用例のコード
FormText formText = toolkit.createFormText(body, true);
formText.setText("<form><li>http://www.google.co.jp</li>"
    + "<li>http://www.yahoo.co.jp</li></form>", true, true);

 FormText#setText()の引数には、表示するテキスト、HTMLとしてパースするかどうか、テキスト中のURLを自動的にリンクにするかどうかを指定します。リスト5のサンプルは図10のように表示されます。HTMLの<li>が解釈され、リスト表示されています。

 また、URLの自動リンクをtrueに設定しているため、URL部分がリンクになっています。

図10 FormTextの表示例
図10 FormTextの表示例

 なお、FormTextは完全にHTMLを解釈できるわけではなく、利用可能なタグおよび属性にはかなり制限があります(利用可能なタグおよび属性については表2を参照してください)。

 また、文法は整形式のXMLになっている必要があるため、<br>は<br/>などと記述する必要がある点にも注意してください。

表2 FormTextで使用可能なタグ、属性の一覧
タグ 属性 説明
p   段落
vspace falseを指定すると垂直方向の間隔を空けません(デフォルトはtrue)
li   個条書き
vspace falseを指定すると垂直方向の間隔を空けません(デフォルトはtrue)
style 個条書きのスタイルをbullet、text、imageのいずれかで指定
value style=bulletの場合:使用しません
style=textの場合:各項目の先頭に表示される文字
style=imageの場合:各項目の先頭に表示される画像
indent 項目の先頭と、項目のテキスト間のインデント
bindent 項目のインデント
img   画像
href 画像(FormText#setImage(String key, Image image)でセットした画像のキーを指定)
align 垂直方向の位置をtop、middle、bottomで指定
a   リンク
href リンク先のURL
nowrap 折り返さない場合true、折り返す場合false
b 太字
br 改行
span   書式
color 色(FormText#setColor(String key, Color color)でセットしたフォントのキーを指定
font フォント(FormText#setFont(String key, Font font)でセットしたフォントのキーを指定)
control   任意のSWTコントロール
href コントロール(FormText#setControl(String key, Control control)でセットしたコントロールのキーを指定)
fill 水平方向の余白を埋めるかどうかをtrueまたはfalseで指定
align 垂直方向の位置をtop、middle、bottomで指定


 Eclipse RCPにも役立つ

 今回で作成したサンプルは、ここからダウンロードできます。Eclipse Formsを使用したエディタやビューのサンプルを多数含んでいますので、参考にしていただければ幸いです。

 Eclipseのユーザーインターフェイスの中ではPDE以外でもEclipse Formsが使用されている部分があります。また、Eclipse RCP(Rich Client Platform)で見た目の良いユーザーインターフェイスを作成したい、という場合にも、Eclipse Formsが役立つことでしょう。通常のSWTと組み合わせて、見栄えも使い勝手も良いユーザーインターフェイスを提供できるようにしたいものです。

編集部注:Eclipse RCPについては、コラム「安藤幸央のランダウン、第26回 Eclipse 3.0のリッチクライアントとは?」を参照してください。

 次回で本連載も最終回となります。これまでは、既存のAPIや拡張ポイントを使用してEclipseを拡張する方法を解説してきましたが、最後に、「自分で拡張ポイントを作る方法」について触れたいと思います。

3/3

 INDEX
第5回 Eclipse Formsでリッチクライアントアプリ開発
  Page1
Eclipse FormsによるUIは一味違う
Eclipse Formsを使ってみよう
  Page2
Eclipse Formsならではのレイアウト・マネージャを使う
Page3
フォームにHTMLテキストを表示させるには?
Eclipse RCPにも役立つ


Java Solution全記事一覧



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間