2005-01-12 ■ iアプリ 嵌ったことをいっぱい書いていこう DoJaのドキュメントには「高レベル」「低レベル」とよく出てくるけど、要するに以下のように理解しておけばOKだと思われる 高レベル = Listner インタフェース 低レベル = processEvent 関数 SoftKeyを使うには2つの方法がある 低レベルAPIを使用する方法では、登録する時と待ち構える時の定数が異なるので注意が必要 Canvas.setSoftLabel( Canvas.SOFT_KEY_1, "名前") でソフトキーラベルを登録 processEvent(wType,wParam) で wParam == Display.KEY_SOFT1 を待ち構える 高レベルAPIを使用する方法 class SoftKeyPanel extends Panel implements SoftKeyListener として、クラスを作成 SoftKeyPanelコンストラクタで、setSoftLabel(Frame.SOFT_KEY_1,"名前") としてソフトキーラベルを登録 同じくSoftKeyPanelコンストラクタで、setSoftKeyListener(this)として、コールバックの登録を行う softKeyPressed() と softKeyReleased()を実装 KeyCodeはFrame.SOFT_KEY_1 と比較する Timerを使うのも2つの方法がある 低レベルAPI(ShortTimer)を使用する方法注意事項として、setCurrent() する前に timer.start() してもprocessEvent()がCALLされないので注意する。また、必要なくなったら ShortTimer.dispose() をCALLしてあげないと、メモリ上に残ってしまう。 Canvasクラス構築 ShortTImer timer = ShortTimer.getShortTimer(Canvasオブジェクト, ID, ミリ秒, 繰り返す:true, 1回だけfalse ); Display.setCurrent(Canvasオブジェクト); timer.start(); processEvent(wType,wParam) で wType==Display.TIMER_EXPIRED_EVENT && wParam==ID を待ち構える。 高レベルAPI(Timer)を使用する方法 まだちょっとわからん