まず最初に、リスト1のようにインタフェースのimplementsを記述しましょう。
リスト1■FirstApp.java |
17: public class FirstApp extends IApplication 18: implements ComponentListener, SoftKeyListener{ |
すると、まだインターフェイスをimplementsしたクラスで実装するべきメソッドが記述されていないため、次のようにエラーが検出表示されます。これが支援機能の一端です。
画面1で、リスト行左端の電球マークをクリックすると、エラーの修正候補が表示されます。ここでは「インプリメントされていないメソッドを追加します。」をダブルクリックします。
すると、必要なメソッドが自動入力されます。
実際のプログラミングの場では、インタフェースを実装する時に必要な名称を覚えていても、適所で必要となるメソッド名は覚えていないことや、メソッドのシグネチャつまり引数の型などはさらに覚えていないことが多いでしょう。これらの記述補完を行ってくれるのはありがたいものです。
ここまでの操作で必要なメソッドのひな形ができあがりました。それぞれの処理記述方法に解説を移していきましょう。
まずは、高レベル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.