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

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

[きしだ なおき,ITmedia]

 まず最初に、リスト1のようにインタフェースのimplementsを記述しましょう。

リスト1■FirstApp.java
17: public class FirstApp extends IApplication
18: implements ComponentListener, SoftKeyListener{

 すると、まだインターフェイスをimplementsしたクラスで実装するべきメソッドが記述されていないため、次のようにエラーが検出表示されます。これが支援機能の一端です。

画面1■implements入力時にエラー検出される

 画面1で、リスト行左端の電球マークをクリックすると、エラーの修正候補が表示されます。ここでは「インプリメントされていないメソッドを追加します。」をダブルクリックします。

画面2■修正候補で「メソッドを追加」をダブルクリック

 すると、必要なメソッドが自動入力されます。

画面3■メソッドが追加される

 実際のプログラミングの場では、インタフェースを実装する時に必要な名称を覚えていても、適所で必要となるメソッド名は覚えていないことや、メソッドのシグネチャつまり引数の型などはさらに覚えていないことが多いでしょう。これらの記述補完を行ってくれるのはありがたいものです。

処理記述のはじめ

 ここまでの操作で必要なメソッドのひな形ができあがりました。それぞれの処理記述方法に解説を移していきましょう。

 まずは、高レベルAPIの要となるパネルの準備を行う処理を、FirstAppクラスのstartメソッドに記述します。次のように記述します。

リスト2■FirstApp.java その1

 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:        p.add(new Button("てすとよ"));
 25:        resultLabel = new Label("表示する");
 26:        p.add(resultLabel);
 27:        p.setComponentListener(this);
 28:        p.setSoftLabel(0, "終了");
 29:        p.setSoftKeyListener(this);
 30:        
 31:        Display.setCurrent(p);
 32:    }

 componentActionメソッドは、ComponentListenerインタフェース由来のメソッドです。一般的にコンポーネントでイベントが発生した時の呼び出しですが、ここではボタンクリックで呼び出されます。具体的なコードとしては、ラベルのテキストが変わるように次の記述となります。

リスト3■FirstApp.java その2

 33:    /* (非 Javadoc)
 34:     * @see com.nttdocomo.ui.ComponentListener#componentAction
(com.nttdocomo.ui.Component, int, int)
 35:     */
 36:    public void componentAction(Component arg0, int arg1, int arg2) {
 37:        resultLabel.setText("押された");
 38:    }

 softKeyPressedメソッドは、SoftKeyListenerインタフェース由来のメソッドです。ソフトキーが押された場合に呼び出され、引数には押されたソフトキーを示す番号が入ります。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ