嵌ったことをいっぱい書いていこう

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