特集:Eclipseで始めるiアプリ――コード支援編dev Java(3/6 ページ)

» 2004年08月31日 22時49分 公開

 ここでは、左側のソフトキーが押された時の処理を行うため、受け取った引数が「0」の時に処理を行います。実際のコードでは、次のように左側のソフトキーが押された場合にiアプリ終了させる処理を記述します。

 39:    /* (非 Javadoc)
 40:     * @see com.nttdocomo.ui.SoftKeyListener#softKeyPressed(int)
 41:     */
 42:    public void softKeyPressed(int arg0) {
 43:        if (arg0 == 0) terminate();
 44:    }
リスト4■FirstApp.java その3

 softKeyPressedメソッドはSoftKeyListenerインタフェース由来のメソッドであり、ソフトキーが離された場合に呼び出されます。ただし、このサンプルでは処理を行わないため、中身を空の状態にしています。

 45:    /* (非 Javadoc)
 46:     * @see com.nttdocomo.ui.SoftKeyListener#softKeyReleased(int)
 47:     */
 48:    public void softKeyReleased(int arg0) {
   :
 49:    }
リスト5■FirstApp.java その4

 ここまでで処理の記述が終わったので実行してみましょう。「Ctrl」+「F11」キーで実行できます。

画面4■高レベル

 実行画面上でボタンを押すと、画面5のようにラベルのテキスト表示が「押された」に変わります。

画面5■押された表示

HTMLLayoutである程度の表示調整が可能に

 高レベルAPIでは、前述したように自由度が低くコンポーネントの配置が決められてしまいます。

 ただし、NTTドコモ504シリーズからの環境、DoJa2.0以降では、コンポーネント配置をある程度可能とするためにHTMLLayoutが使えます。HTMLという表記が含まれますが、これはHTMLタグを記述するというわけではなく、HTMLで <center> タグや <br> タグを使う簡易的なものです。

 サンプル記述は、次のようになります。

 16:public class FirstApp extends IApplication 
 17:implements ComponentListener, SoftKeyListener{
 18:    Label resultLabel;
 19:    /* (非 Javadoc)
 20:     * @see com.nttdocomo.ui.IApplication#start()
 21:     */
 22:    public void start() {
 23:        Panel p = new Panel();
 24:        HTMLLayout hl = new HTMLLayout();
 25:        p.setLayoutManager(hl);
 26:        p.add(new Button("てすとよ"));
 27:        hl.br();
 28:        resultLabel = new Label("表示する");
 29:        hl.begin(HTMLLayout.CENTER);
 30:        p.add(resultLabel);
 31:        hl.end();
 32:        p.setComponentListener(this);
 33:        p.setSoftLabel(0, "終了");
 34:        p.setSoftKeyListener(this);
 35:        
 36:        Display.setCurrent(p);
 37:    }
 38:
リスト6■FirstApp.java その5

 上記までの実行画面は以下の通りです。「br()」メソッドを使っているため、ボタン表示の次の行で改行され、ラベル表示されています。また、ラベル追加の前に、HTMLLayout.CENTERを指定したbeginメソッドを利用しているため、ラベルが中央に表示されます。

画面6■HTMLLayout

 HTMLLayoutを使っても、表示調整はこの程度です。もっと自由に画像や色を使った画面構成にするためには、特集第3回目で解説する「低レベルAPI」を使う必要があります。この場合には、描画処理に関わるキー入力処理はすべて自らで記述する必要があるため、比較的複雑です。

Copyright © ITmedia, Inc. All Rights Reserved.