Eclipse4.2でGUIアプリ開発の準備メモ

部活内でチーム開発をすることになったので、環境構築をした。 予めHelloworldまで確認したので、メンバーの後輩へのドキュメント用にメモを残す。 環境は以下の通り。 言語:Java IDE:Eclipse4.2 プラグイン:WindowBuilder(SWTDesigner等)
本体を入れる

まずはEclipse4.2を導入する http://www.eclipse.org/downloads/ 日本語化とかは面倒くさいので今回はスルーで。

WindowBuilder周りを入れる

  f:id:killinsun:20130525234448p:image ヘルプ→新規ソフトウェアのインストール f:id:killinsun:20130525234449p:image 対象のところに http://download.eclipse.org/releases/juno/ このURLを入力。 4.2用の一般的なプラグインが表示される。 一般ツールカテゴリあたりから、 SWT DesignerとSWT Designer Coreをインストール。 フィルタって所で SWTと入力すると絞り込んでくれて便利。 f:id:killinsun:20130525234450p:image 依存関係のあるパッケージは自動でインストールしてくれるらしい。 ぶっちゃけSWT Designerだけ選択でもよかったかも。 下手に何か入れると、後述のデザインモードが起動できなくなるバグっぽいのが発生する f:id:killinsun:20130526000325p:image 同意して完了をクリックでインストール開始。 この後再起動求められるので、素直に再起動を。

起動するか確認

  f:id:killinsun:20130526000327p:image 適当なプロジェクトを作る。 馴染みの深いJavaプロジェクトではなく、今回は WindowBuilder配下にSWT/JFace Java Projectというのがあるので、 これでプロジェクトを作成してみる。 必要なライブラリが自動で格納される。 f:id:killinsun:20130526001154p:image そしてクラスの作成。 今回は、同カテゴリ内のSWT Applicationsというのでクラスを作成してみた。 f:id:killinsun:20130526001156p:image 作成したファイルを開いてみる。 ソースコードの下の方のタブをDesignに変えると、デザインモードに切り替わる。

Helloworldをやってみる

  f:id:killinsun:20130526001157p:image テキストやボタンなどの「パーツ」は、 それぞれ、ウィンドウに配置する際、レイアウトという「置き方」を決めなければならない。 今回は、FillLayoutというのを選択してみる。 f:id:killinsun:20130526001158p:image 次にラベルの配置。 画面に埋め込む文字列ですね。隣のTextを選択すると、テキストフィールドが出てくる。 f:id:killinsun:20130526001159p:image 配置した時に、Labelの文字を書き換える事ができるが、動きを理解するために そのまま配置することにする。 ソースコードを見てみよう。 以下のソースコードは、上の手順まで進んだ結果、追加されたコードである。

protected void createContents() {
shell = new Shell();
shell.setSize(450, 300);
shell.setText("SWT Application");
shell.setLayout(new FillLayout(SWT.HORIZONTAL));
Label lblNewLabel = new Label(shell, SWT.NONE);
lblNewLabel.setText("New Label");
}

  一番下の2行のコードが、追加したラベルに関するコードである。 1行目がインスタンス(実態)を作成し、2行目で、インスタンスの情報を設定している。 今回は、setText() というメソッドを使い、 New Labelという文字列が埋め込まれている。 ここを書き換えればよい。

lblNewLabel.setText("Hello World!");

  f:id:killinsun:20130526002811p:image 書き換えて実行すると、このようにHelloWorldが表示された。 Welcome to GUI world. といった具合に。