
SWTレイアウトを活用しよう
コンポーネントを均等に割り付ける − FillLayout |
FillLayoutは、埋めるという意味の「Fill」がその名前に付いていることから分かるように、コンポーネントでコンポジットを埋めるように配置するレイアウトです。FillLayoutの特長は「埋め尽くす」と「均等割り」です。
![]() |
| 図6 FillLayoutにTextとButtonをドロップしたところ |
FillLayoutでカスタマイズできるのは、縦横のマージン(外側)とスペース(コンポーネント間)、そして、縦に並べるか、横に並べるか、です。すべてのコンポーネントを同じ大きさで1列に並べたいときに使う、と覚えるとよいでしょう。
FillLayoutではコンポーネントの大きさはレイアウトする側(下にあるComposite)に主導権があり、同じ大きさに調整されて並んでいきます。
行として配置する − RowLayout |
コンポーネントをそれぞれに必要な大きさで並べていくためのレイアウトがRowLayoutです。RowLayoutでは縦、横どちらかの方向に向かってコンポーネントを並べていき、場所が足りなくなると改行します。HTMLのFORMタグで、文字とTEXTフィールドを並べていくのに似ています。
![]() |
| 図7 RowLayout の部品の並び方 |
コンポーネントの大きさは、コンポーネントが自主的に決めます。例えば、ボタンならテキストにセットされた文字の幅で計算されます。FillLayoutとの違いは、大きさがまちまちになることと、改行することです。
![]() |
| 図8 RowLayout での配置 |
![]() |
| 図9 下地のCompositeの大きさを変化させたところ |
格子を使って並べる − GridLayout |
SWTレイアウトで最も柔軟かつ自由にレイアウトを行えるのがGridLayoutです。GridLayoutでは、下地になるComposite状に格子が作られ、その組み合わせで部品を配置していきます。GridLayoutを使いこなすと、非常に複雑なレイアウトを、小さなウィンドウから大きな画面まできれいに配置できるようになります。
GridDataクラスを各部品に付けることで、その部品の大きさやグリッドの連結(span)を指定して、自由かつ柔軟に部品を配置します。
![]() |
| 図10 グリッドに配置された部品 |
相対位置の指定で詰める − FormLayout |
FormLayoutは、コンポーネント同士の相対位置を指定してその関係で配置するレイアウトです。相対位置は、各コンポーネントの上、下、左、右といった辺を、親のCompositeか、一緒に張り付いている別のコンポーネントとの位置関係で、幅寄せするように表していきます。これを表すオブジェクトとして、FormAttachmentオブジェクトを使います。
![]() |
| 図11 FormLayout による「幅寄せ」 |
今回は、SWTレイアウトの全体をご覧いただきました。次回以降、各レイアウトで指定できるパラメータや、それによる動作を確認していきます。
| 2/2 |
INDEX |
||
| SWTレイアウトを活用しよう | ||
| Page1 SWTのレイアウトの種類 自動レイアウトを使わない場合の配置 |
||
| Page2 コンポーネントを均等に割り付ける − FillLayout 行として配置 − RowLayout 格子を使って並べる − GridLayout 相対位置の指定で詰める − FormLayout |
||
| 筆者プロフィール |
米持幸寿(よねもち ゆきひさ)![]() 1987年に日本アイ・ビー・エム入社。メインフレームOS、ミドルウェアの障害対応、障害解析ソフトウェアの開発、ワークフローシステム開発、オブジェクト指向開発、Web開発などを経験。2000年より、ソフトウェアのテクノロジー・エバンジェリストとして活動中。 米持先進技術工房 テクノロジー・エバンジェリストとして活躍する米持氏が主催する、J2EEの最新技術情報を提供するWebサイト。 http://www-6.ibm.com/jp/developerworks/tips/ytech/ |
米持先進技術工房−@IT分室 バックナンバー
| Java Solution全記事一覧 |
TechTargetジャパン
- Scalaのパッケージ、アクセス修飾子、オブジェクト継承 (2012/5/22)
インポート、パッケージオブジェクト、抽象クラス/抽象メソッド、オーバーライド、final、シールドクラスなども - 基幹系システムでCloud SQLは使えるか試してみた (2012/5/17)
サンプルとしてMRPシステムを作成して動かし、「再帰呼び出し」などのパフォーマンスを測定して検証してみます - アジャイル管理ツール9選+Pivotal Tracker入門 (2012/5/14)
群雄割拠のアジャイルプロジェクト管理ツールを9つ紹介し、特に注目を集めているPivotal Trackerの基本的な使い方を解説します - サーバサイドJSやJavaでWebアプリが作れるXPages (2012/5/11)
Notes/Dominoの資産をサーバサイドJavaScriptやJavaで操作し、HTMLやJavaScript、CSSをUIにできる技術を紹介
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -







