第10回 SWTで最も自由にレイアウトできるのは何か?
米持幸寿
2007/2/3
配置の調整をしなければ!
さて、すべての部品は張り付きましたが、どうも思ったものと違います。移動や条件設定を変えて、整形し直しましょう。
まず、「追加」ボタンをドラッグして右端へ移動します。
図9 ボタンの移動 |
次に、Textを3つのグリッドをまたぐよう(スパン)に調整します。選択した後、右側に表示されている緑色の四角(リサイズハンドル)をドラッグして、3つのグリッドをまたぐように広げます。
図10 スパンの調整 |
中央のListオブジェクトも端までスパンさせます。
図11 Listのスパン |
さて、TextとListは、外側の(下地の)Compositeの大きさに合わせて、最大まで自動的に広がるようにしたいと思います。それには、GridDataの次のプロパティーが関係します。
|
残念ながら、これらの設定はJVE上で設定できないので、プロパティー・エディターでセットします。以下のようにセットしてください。
|
以上の設定が終わると、やっと出来上がりです。
図12 Grab Excess 設定が終了した |
これらの設定は、「Customize Layout」パネルでも設定できます。
図13 GridDataの設定 |
大きさは「ヒント」でピントを合わせる
GridLayoutを使う場合、部品は基本的に自動サイズです。しかし、ある特定の大きさにしたい場合もあります。その場合、コンポーネントの大きさを「Hint」という値でレイアウトに与えます。Hintは幅(width)と高さ(height)の両方が設定できます。
例えば、「保存」のボタンだけ少し大きくしたいなら、それらのボタンを選択しておいて、プロパティー・エディター上で「widthHint」を70、「heightHint」を30といった具合に設定します。自動レイアウトに戻したければ、Hint値を「-1」にします。
これらの設定をすべて終えると、図14のようになります。
図14 完成 |
以上のように、GridLayoutは、とても柔軟に多くの部品を配置できるレイアウトで、JVEを使って簡単に複雑な配置を設定できます。
用件に文字を入力してリストへ追加できるようにするには、「追加」ボタンのアクションに次の1文を記述します。
list.add(text.getText()); |
同様に、「上へ」「下へ」「削除」「保存」などに、アクションのプログラムコードを記述すれば、プログラムが完成します。
2/2 |
INDEX | ||
第10回 SWTで最も自由にレイアウトできるのは何か? | ||
Page1 グリッドを意識するということ まずは、横向きへ配置してみると…… |
||
Page2 配置の調整をしなければ! 大きさは「ヒント」でピントを合わせる |
筆者プロフィール |
米持幸寿(よねもち ゆきひさ) 1987年に日本アイ・ビー・エム入社。メインフレームOS、ミドルウェアの障害対応、障害解析ソフトウェアの開発、ワークフローシステム開発、オブジェクト指向開発、Web開発などを経験。2000年より、ソフトウェアのテクノロジー・エバンジェリストとして活動中。 米持先進技術工房 テクノロジー・エバンジェリストとして活躍する米持氏が主催する、J2EEの最新技術情報を提供するWebサイト。 http://www-6.ibm.com/jp/developerworks/tips/ytech/ |
ご意見、ご感想はJava Solution 会議室へどうぞ |
Java Solution全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|