/* iアプリ, MIDP の Canvas クラスでのキーイベント処理の例 Time-stamp: "2005/12/21 Wed 18:39 hig" Saburo Higuchi 2004,2005 http://www.math.ryukoku.ac.jp/~hig/ プログラム解説等 http://www.a.math.ryukoku.ac.jp/~hig/course/juniors_2005/03/ */ import javax.microedition.midlet.*; import javax.microedition.lcdui.*; // DoJa/1 Builder を使われる方へ: // まず, プログラムの先頭で, #define DOJA // などと定義する必要があります. // 以下の define 文は, #if - #endif の中に書かれていますので, // DoJa/1 Builder のプリプロセッサでは処理できません. // そこで, #if - #endif はやめて, // いらない方をJava の意味でコメント文にしてください. /** Canvas の例(イベント処理あり) */ public class KeyEventSample extends MIDlet { /** 起動するときに呼ばれる メソッド. 必須. */ public void startApp(){ MyKeyCanvas mc = new MyKeyCanvas(this); Display.getDisplay(this).setCurrent(mc); } /* 以下は, 空でも定義しておくことが必要 */ public void pauseApp(){} public void destroyApp(boolean unconditional){} /* 自分で好きなだけメソッドを定義してよい */ } /** Canvas を用いたグラフィックス */ class MyKeyCanvas extends Canvas implements CommandListener // このクラスでコマンドイベントを処理 { /** コンストラクタ. 配列の初期化のみ行う */ public MyKeyCanvas(KeyEventSample ap){ this.parent=ap; // これは樋口の癖. 必須ではない. // コマンドキーを登録. 第1引数は画面表示ラベル, 最後の引数は優先順位 for(int i=0; i