
第3回 EclipseのVEでSWTアプリを作る(後編)
米持幸寿
2005/12/28
米持先進技術工房 @IT分室では、テクノロジー・エバンジェリスト 米持幸寿氏が、J2EEの最新技術情報を提供します。最新技術の中身をいち早くキャッチアップしたい読者のためのコーナーです。
本稿ではEclipseのVisual Editor(以下VE)を使ってSWTアプリケーションを作成する方法を解説します。前編ではVEを利用する環境を構築しました。後編ではいよいよVEを使い、SWTパネルをデザインしてみましょう。VEでパネルをデザインする基本は、次のステップです。
- Eclipseを起動する
- Javaプロジェクト(あるいは、Javaを継承したプロジェクト)を作成する
- [新規]でビジュアル・クラスを追加する
- ビジュアル・クラス(基本はShellかCompositeのサブクラス)に、ビジュアルエディタで部品を張り付けていく
- [実行]→[JavaBeans]で実行してテストする
- 4.、5.を繰り返す
- ビジュアル・クラスのソースコードはできるだけいじらないようにし(VEだけで編集する)、さらにサブクラスを作るなどしてリスナやデータ処理を追加してアプリケーションを完成させる
作業を始める前にEclipseの基本的な操作は覚えてください。@IT内に記事がたくさんあります。
|
Visual Editorの準備 |
(1)ワークスペースにJavaプロジェクトを追加
メニューから[ファイル]→[新規]→[プロジェクト]で、[Java プロジェクト]を選択して[次へ]ボタンをクリックし、[プロジェクト名]に適当に名前を付けて[終了]ボタンをクリックします。
(2)JavaプロジェクトのビルドパスにSWTを追加
- Javaプロジェクトのプロパティを開き、ビルドパスのライブラリータブを開きます。[パッケージ・エクスプローラ]ビューで、作成したJavaプロジェクトのアイコンを右クリックし、[プロパティー]を選択します。左側で[Java
のビルド・パス]を選択し、右側に表示されるタブの[ライブラリー]をクリックします。

図1 ビルドパスの設定
- 右側にある[ライブラリーの追加]ボタンをクリックすると、[ライブラリーの追加]パネルが表示されます。

図2 SWTライブラリの選択
- SWTを選択して[次へ]ボタンをクリックします。[SWT Library Options]パネルが表示されます。

図3 JFaceの選択
- [Include support for JFace Library]を選択し、[終了]ボタンをクリックします。
- 前のウィンドウに戻りますので、[OK]ボタンをクリックして閉じます。
(3)SWTのサンプルを確認
まずは、普通のJavaクラスを作って、SWTがどのようにコーディングされるものか確認しておきましょう。 プロジェクトにFirstCompositeクラスを追加してください。上記のリンク先のファイルをローカルファイルとして保存し、それをPackage ExplorerビューのJavaプロジェクトにドラッグ&ドロップします。(default package)に追加されます。
このクラスを、メニューから[実行]→[構成および実行]→[Java Bean]で実行してみてください。
![]() |
| 図4 FirstComposite の実行結果 |
ソースコードを見て、基本を押さえてください。SWTでは、第1引数に、親として別の部品のインスタンス参照を渡すことで親子関係(包含関係)が築かれます。これで、ラベル、入力フィールド、ボタンなどがCompositeの上に乗った状態になります。部品がどこに置かれるかは、レイアウトで決まります。
レイアウトが設定されていない(null)とき、上に載る部品に対して[setBounds]することで自由な場所に置くことができます。レイアウトに[FillLayout、FormLayout、GridLayout、RowLayout]などをセットした場合、追加された順番と、LayoutDataと呼ばれるデータに従って自動的にレイアウトされます。このサンプルでは、GridLayoutを使って3列2行の表の形式に自動レイアウトしています。
では、これと同じレイアウトをVEで作ってみましょう。
(4)ビジュアル・クラスを追加
パッケージ・エクスプローラ上でパッケージを右クリックし、[新規]→[Visual Class]を選択してください。パッケージが分かる人はパッケージを作成しても構いません。ここではcom.yoneというパッケージを作成しています。
![]() |
| 図5 ビジュアル・クラスの追加 |
任意の名前を付けてください(ここでは[MyComponent]という名前にしたことにします)。[Style]から[SWT-Composite]を選択。[終了]ボタンをクリックしてください。
以上で、ビジュアルエディタが起動して、追加したビジュアル・クラスを編集することができます。
VEでは、4つのビューを使ってパネルを編集していきます。
![]() |
| 図6 ビジュアルエディタのビュー |
- WYSIWYGエディタ
ビジュアルエディタの心臓部で、このビューを使ってパネルを編集します。
- ソースエディタ
WYSIWYGエディタの下にJavaソースコードエディタが同時表示されます。部品をクリックしたときや、部品やアクション(イベント処理)を追加したときに、該当個所が表示され、編集できます。
- プロパティーエディタ
部品をクリックして選択状態にすると、その部品の属性が設定できます。
- JavaBeans
ビジュアル・クラスに追加されている部品が、親子関係でツリー表示されます。ここでも部品をクリックして選択状態にすることができます。自動的に追加されていく部品などを確認することができます。
| 1/2 |
|
INDEX |
||
| 第3回 EclipseのVEでSWTアプリを作る(後編) | ||
| Page1 Visual Editorの準備 |
||
| Page2 GridLayoutで部品を並べる |
||
米持先進技術工房−@IT分室 バックナンバー
| Java Solution全記事一覧 |
ホワイトペーパー(TechTargetジャパン)
- Android NDKでJNIを使用してアプリを高速化するには (2010/3/17)
C/C++やOpenGL ESといったネイティブコードを使うためのNDKとJNIを紹介し、その使い方や注意点を徹底解説します - 調査の難しい「OutOfMemoryError」事例、5選 (2010/3/11)
Java開発者が避けて通れないメモリ不足エラーの基本的な問題切り分け方法と発生につながる事例、対処法を解説 - 究極の問題解析ツール、逆コンパイラJD-Eclipseとは (2010/3/8)
ライブラリ内で例外が発生! そのクラスのソースコードを調べたい!! 自動で逆コンパイルしてくれる無料Eclipseプラグインがあります - いまさら聞けない「Webサービス」の常識 (2010/2/26)
昨今では企業システムでも使われる「Webサービス」の概念やJava標準のJAX-WSを紹介しJBoss WSでサンプルを作成
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |









