第11回 JVEで編集できないレイアウトを2つ紹介


米持幸寿
2007/4/25


 画面を重ねるレイアウト ― StackLayout

 次に、StackLayoutを紹介します。StackLayoutはとても単純なレイアウトで、StackLayoutが設定されたコンポーネントを親としてコンポーネントのインスタンスを作り、topControlプロパティに設定すると、前面に表示します。topControlプロパティを設定し直すと、前に出てくるように表示してくれるので、画面遷移に使えます。

 JVEを使って、3つのレイアウトを定義したとします。Stack00には、上の部分にCompositeを配置します。

図3 Stackレイアウト用のパネル定義
図3 Stackレイアウト用のパネル定義

 Stack00の上部に配置されているcompositeのレイアウトをnullに設定し、Stack01とStack02を適当に載せます(compositeが親になることが重要です)。

図4 パネルを配置
図4 パネルを配置

 Stack00クラスのCompositeにStackLayoutを設定します(これは、ソースコードの編集で行います)。クラス変数としてStackLayoutを定義し、コンストラクタなどで、インスタンスを作ります。そこで、Stack01をtopControlに設定します。

リスト4 StackLayoutの設定
    // クラス変数
    private StackLayout stack = null; // クラス変数

        // コンストラクタにて
        stack = new StackLayout(); // インスタンス化して
        composite.setLayout(stack); // 設定

 次に、ボタンがクリックされたときに画面が切り替わるコードを追加しましょう。JVE上で、「次へ」ボタンを右クリックして、「Events」→「widgetSelected」を選択してください。そこへ、リスト5のコードを書き込みます。

リスト5 画面を遷移するコード
        if(stack.topControl == stack01) {
            stack.topControl = stack02;
            composite.layout();
            button.setEnabled(false);
        }

 これにて、Stack00を起動してボタンをクリックすると、画面が遷移します。

図5 画面の遷移
図5 画面の遷移

 Eclipseでウィジェットを作ってみよう!


最後に(編集部より)

 以上で、「米持先進技術工房 @IT分室」は最終回です。Java開発者の読者なら、1度は使ったことがあると思われるEclipse。本連載では主に、その軽快な操作性と高度なグラフィックを実現できる技術SWTについて解説しました。長い間ご愛読いただきありがとうございました。

 現在、リッチデスクトップアプリケーションMac OSXGoogleYahoo!OperaAdobe Apolloなどのウィジェットガジェット)として注目を浴びています。この連載でリッチデスクトップアプリケーション開発に興味を持った読者は下記にある記事(SWT以外にも、Eclipse RCPEclipse Formsについても)を参照することをお勧めします。@ITの記事を参考にEclipseのウィジェットを開発するなど試してはみてはいかがでしょうか。

@IT関連記事

EclipseによるSWTアプリケーションの作成
Eclipse徹底活用(7) 高速なGUIが実現できることで評価の高いSWTを使いアプリケーションを作成してみよう。CSVビューワーを例に、スレッド対応までを試みる
Java Solution」フォーラム 2004/2/21
SWTは本当に高速なGUIを実現するのか?
[コラム]安藤幸央のランダウン(19) 
クライアント環境のJavaアプリケーションで高速なGUIを実現するSWT。だが、その性能を盲信してはいけない。使い分けが重要だ

Java Solution」フォーラム 2003/6/4
Eclipse 3.0のリッチクライアントとは?
[コラム]安藤幸央のランダウン(26) 
Eclipse 3.0にはリッチなユーザーインターフェイスを容易に構築できる機能が追加された。その実力を実例に見てみよう

Java Solution」フォーラム 2005/1/15
Eclipse Formsでリッチクライアントアプリ開発
Eclipseプラグイン実践テクニック(5) 人とは一味違うかっこいいユーザーインターフェイスを使いたいと思ったことはありませんか? 実は、Eclipse Formsを使うと簡単に…
Java Solution」フォーラム 2007/1/19

2/2

 INDEX
第11回 JVEで編集できないレイアウトを2つ紹介
Page1
相対位置で調整するFormLayout
  FormDataとFormAttachmentで細かく設定
  重なった部品をレイアウトできる
  Page2
画面を重ねるレイアウト ― StackLayout

筆者プロフィール
米持幸寿(よねもち ゆきひさ)
1987年に日本アイ・ビー・エム入社。メインフレームOS、ミドルウェアの障害対応、障害解析ソフトウェアの開発、ワークフローシステム開発、オブジェクト指向開発、Web開発などを経験。2000年より、ソフトウェアのテクノロジー・エバンジェリストとして活動中。


米持先進技術工房
テクノロジー・エバンジェリストとして活躍する米持氏が主催する、J2EEの最新技術情報を提供するWebサイト。



ご意見、ご感想はJava Solution 会議室へどうぞ


Java Solution全記事一覧



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

注目のテーマ

Java Agile 記事ランキング

本日 月間