2012-01-11 3 views
0

LWUIT、Midletモバイルアプリケーションを使用して1つのプロジェクトを開発しています。数字キーを押すとダイアログボックスが開きます。私が#、0、キーを押すと*ダイアログが閉じるはずです。
私はDialog.dispose()メソッドを使用してダイアログを閉じます。しかし、それは動作していません。以下は私のコードです。誰かが私のコードの問題点を教えてもらえますか?どうすればDisposeダイアログボックスLWUITコンポーネントから

public class javaForm extends Component implements ActionListener 
{ 

Dialog d=new Dialog(); 


public void keyPressed(int key){ 

    System.out.println("Key pressed :"+key); 

      switch(key) 
      { 


       case 48: 
        d.show(130,20,30,30,true); 
        break; 
       case 49: 
      d.show(130,20,30,30,true); 
        break; 
       case 50: 
      d.show(130,20,30,30,true); 
        break; 
       case 51: 
      d.show(130,20,30,30,true); 
        break; 
       case 52: 
      d.show(130,20,30,30,true); 
        break; 
       case 53: 
      d.show(130,20,30,30,true); 
        break; 
       case 54: 
      d.show(130,20,30,30,true); 
        break; 
       case 55: 
      d.show(130,20,30,30,true); 
        break; 
       case 57: 
        d.show(130,20,30,30,true); 
        break; 
       case 56: 
        d.show(130,20,30,30,true); 
         break; 
       case 42: 
      d.dispose(); 
         break; 
       case 35: 
         d.dispose(); 
         break; 
       default: 
         d.dispose(); 
         break; 
      } 

} 

public void actionPerformed(ActionEvent ae) 

{ 

throw new UnsupportedOperationException("Not supported yet."); 

} 

} 

実はjavaFormは、JavaプログラムがLWUITを使用して開発し、javaForm1あるのMIDletの内部でこのjavaFormを呼び出しています。私は必要なパッケージをすべて含んだ。

+2

新しい質問をする前に他の質問を受け入れるようにしてください – frayab

+0

そのキーのキーコードを確認しましたか? [既に私はあなたに言った](http://stackoverflow.com/questions/8799366/how-to-resize-dialog-box-in-lwuit)ケース内でprintlnを使用して何が起こったかを確認する。 – bharath

+0

はい@ Bharath。私は試しましたが、Works.iはキー2を押して50を表示しませんでした。もう一度2を押しても何も印刷されません – Shankar

答えて

2

なぜ使用しないでくださいForm.addGamekeyListener()

はyoutはFormgameKeyListenerを入れて(FormActionListenerを拡張)以降actionPerformed(ActionEvent ae)ae.getKeyEventでキーをキャプチャし、Dialogを閉じます。

CanvasでGameKeysをマップします。たとえば、Canvas.FIREです。

+0

@ jmunoz .. GameKeyListenerの下にあるキーは何ですか?ダイアログを表示するために、すべてのモバイルキーを使用します。 – Shankar

+1

jmunozが説明したように、ゲームキーリスナーの代わりにaddKeyListenerを使用します。ダイアログをサブクラス化して、keyReleasedコールバックをオーバーライドすることもできます。 –

+0

@ShaiAlmogは右 – Mun0n

関連する問題