SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Javaで軽快に使える「軽量フレームワーク」特集

Javaで軽快に使える「軽量フレームワーク」特集
~アプレットベースのRIAフレームワーク「Apache Pivot」(1)

第13回

  • X ポスト
  • このエントリーをはてなブックマークに追加

ソースコードの作成

 Pivotは、基本的にJavaのクラスとしてプログラムを作成します。XMLも利用できますが、まずは基本ということでクラスだけでプログラムを作成してみましょう。

 「ファイル」メニューから「新規」内の「クラス」サブメニューを選び、新規クラスを作成してください。ここでは、次のように設定を行います(他はデフォルトのまま)。

設定内容
項目 内容
ソース・フォルダー pivotSample/src
パッケージ jp.tuyano.pivot
名前 HelloApp
インターフェイス org.apache.pivot.wtk.Application

 これでクラスを作成します。生成されたHelloApp.javaを開いてみると、中にいくつかのメソッドが書き出されていることが分かるでしょう。これは、インターフェイスとして追加したorg.apache.pivot.wtk.Applicationの必須メソッドです。Pivotでは、作成するプログラムは、必ずこのorg.apache.pivot.wtk.Applicationインターフェイスをimplementsする必要があります。では、生成されたソースコードを見てみましょう。

package jp.tuyano.pivot;

import org.apache.pivot.collections.Map;
import org.apache.pivot.wtk.*;

public class HelloApp implements Application {

    @Override
    public void resume() throws Exception {
        // TODO 自動生成されたメソッド・スタブ
    }

    @Override
    public boolean shutdown(boolean arg0) throws Exception {
        // TODO 自動生成されたメソッド・スタブ
        return false;
    }

    @Override
    public void startup(Display arg0, Map<String, String> arg1)
            throws Exception {
        // TODO 自動生成されたメソッド・スタブ
    }

    @Override
    public void suspend() throws Exception {
        // TODO 自動生成されたメソッド・スタブ
    }

}

 これら4つのオーバーライドされたメソッドが、Pivotのプログラムに必要となるものです。これらはそれぞれ、次のような役割を果たします。

メソッドの役割
メソッド 説明
startup プログラム開始時に呼び出されます。ここにGUIなどの初期化処理を用意します。
shutdown プログラム終了時に呼び出されます。終了前の処理などを用意します。
suspend プログラムがサスペンド(一時停止)される際の処理を用意します。
resume プログラムがレジューム(サスペンド状態から元に戻る)される際の処理を用意します。

 とりあえず、起動時に実行されるstartupに必要な処理を用意すれば、簡単なプログラムは作成できるようになります。

アプリケーションを作成する

 では、実際に簡単なテキストを表示するサンプルを作成してみましょう。そして、アプリケーションとして実行できるようにしてみます。

package jp.tuyano.pivot;

import java.awt.*;

import org.apache.pivot.collections.Map;
import org.apache.pivot.wtk.*;
import org.apache.pivot.wtk.Label;
import org.apache.pivot.wtk.Window;
import org.apache.pivot.wtk.Component.StyleDictionary;

public class HelloApp implements Application {
    private Window window;

    @Override
    public void startup(Display display, Map<String, String> map)
            throws Exception {
        Label label = new Label();
        label.setText("Hello Pivot!");
        StyleDictionary style = label.getStyles();
        style.put("font", new Font("Arial", Font.BOLD, 24));
        style.put("color", Color.RED);
        style.put("horizontalAlignment", HorizontalAlignment.CENTER);
        style.put("verticalAlignment", VerticalAlignment.CENTER);

        window = new Window();
        window.setContent(label);
        window.setTitle("Hello Pivot!");
        window.setMaximized(true);
        window.setSize(320, 200);
        window.open(display);
    }

    @Override
    public boolean shutdown(boolean arg0) throws Exception {
        return false;
    }

    @Override
    public void suspend() throws Exception {}

    @Override
    public void resume() throws Exception {}

    public static void main(String[] args) {
        DesktopApplicationContext.main(HelloApp.class, args);
    }
}
図6 作成したプログラムをアプリケーションとして実行する。
図6 作成したプログラムをアプリケーションとして実行する。

 ここでは、startupメソッドに、画面表示を構築する処理を用意してあります。またアプリケーションとして実行できるよう、mainメソッドを新たに追加しました。コードの詳細は後述するとして、まずはこれを実際に動かしてみましょう。

 パッケージ・エクスプローラーから「HelloApp.java」のファイルを選択し、「実行」メニューの「実行」から「Javaアプリケーション」サブメニューを選んでください。HelloAppアプリケーションが実行され、画面に「Hello Pivot!」と赤いテキストが表示されたウインドウが現れます。これが作成したアプリケーションです。

次のページ
Labelの作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Javaで軽快に使える「軽量フレームワーク」特集連載記事一覧

もっと読む

この記事の著者

掌田 津耶乃(ショウダ ツヤノ)

三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5111 2010/05/12 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング