ソースコードの作成
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); } }
ここでは、startupメソッドに、画面表示を構築する処理を用意してあります。またアプリケーションとして実行できるよう、mainメソッドを新たに追加しました。コードの詳細は後述するとして、まずはこれを実際に動かしてみましょう。
パッケージ・エクスプローラーから「HelloApp.java」のファイルを選択し、「実行」メニューの「実行」から「Javaアプリケーション」サブメニューを選んでください。HelloAppアプリケーションが実行され、画面に「Hello Pivot!」と赤いテキストが表示されたウインドウが現れます。これが作成したアプリケーションです。