S2JFaceにおけるレイアウトデータの一括指定
S2JFace新方式での画面定義XMLの書き方についてまとめてみます。
S2JFaceでは、複数のコンポーネントを並べる際、 composite 内に並べるボタンやラベル、テキストフィールドといったGUI要素(これをコントロールと呼びます)は、以下のような感じで コントロールの配置方法は、以下のように さらに、rowLayout や gridLayout では、それぞれ でも、これだと各コントロールに gridData タグを書かなければならないので、結構面倒です(SWTのプログラミング上でも同様に面倒です)。 そこで、S2JFace ではレイアウトデータの一括指定ができるようになっています。以下のように、レイアウトタグ(この場合は gridLayoutタグ)の内部に、一括指定したいレイアウトデータタグ(この場合は、gridDataタグ)を記述することで、composite内のすべてコントロールに対して同じレイアウトデータを適用することができます。 <composite>
<button id="guButton" text="グー!" />
<button id="cyokiButton" text="チョキ!" />
<button id="paButton" text="パー!" />
</composite>
<composite>
<gridLayout numColumns="3" marginHeight="5" marginWidth="5" />
<button id="guButton" text="グー!" />
<button id="cyokiButton" text="チョキ!" />
<button id="paButton" text="パー!" />
</composite>
<composite>
<gridLayout numColumns="3" marginHeight="5" marginWidth="5" />
<button id="guButton" text="グー!">
<gridData horizontalAlignment="CENTER" verticalAlignment="CENTER" />
</button>
<button id="cyokiButton" text="チョキ!">
<gridData horizontalAlignment="CENTER" verticalAlignment="CENTER" />
</button>
<button id="paButton" text="パー!">
<gridData horizontalAlignment="CENTER" verticalAlignment="CENTER" />
</button>
</composite>
<composite>
<gridLayout numColumns="3" marginHeight="5" marginWidth="5">
<gridData horizontalAlignment="CENTER" verticalAlignment="CENTER" /> </gridLayout>
<button id="guButton" text="グー!" />
<button id="cyokiButton" text="チョキ!" />
<button id="paButton" text="パー!" />
</composite>