Java me 如何从LWUIT组件中释放对话框

Java me 如何从LWUIT组件中释放对话框,java-me,lwuit,lwuit-dialog,Java Me,Lwuit,Lwuit Dialog,我正在开发一个项目使用LWUIT,Midlet移动应用程序。当我按数字键时,将打开一个对话框。当我按#,0,*键时,对话框应该关闭。 我正在使用Dialog.dispose()方法关闭对话框。但它不起作用。下面是我的代码。有人能告诉我我的代码有什么问题吗 public class javaForm extends Component implements ActionListener { Dialog d=new Dialog(); public void keyPressed(int k

我正在开发一个项目使用LWUIT,Midlet移动应用程序。当我按数字键时,将打开一个对话框。当我按#,0,*键时,对话框应该关闭。
我正在使用
Dialog.dispose()
方法关闭对话框。但它不起作用。下面是我的代码。有人能告诉我我的代码有什么问题吗

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是一个使用lwiit开发的java程序,我在MIDLET中调用这个javaForm,它就是javaForm1。我包括了所有必要的包裹

为什么不使用
Form.addGamekeyListener()

gameKeyListener
放在yout
表单中(扩展
ActionListener
放在
表单中),然后放在
actionPerformed(ActionEvent ae)
中,用
ae.getKeyEvent
捕获密钥并关闭
对话框


使用
Canvas
映射游戏键。例如:
Canvas.FIRE

在询问新的问题之前,您应该先接受其他问题。您是否检查了该钥匙的钥匙代码?在案件内部使用println,看看发生了什么。是@Bharath。我试过了,但没有成功。我按了2键,它显示50。我再次按下2,它没有打印任何内容完全同意@frayab。你必须接受其他问题。如果你想得到答案,这很重要。@jmunoz。。GameKeyListener下的键是什么。我想使用所有的移动键来显示对话框,来处理对话框。使用addKeyListener而不是game key listener,就像jmunoz解释的那样。您还可以将dialog子类化并覆盖keyReleased回调。为什么?addKeyListener()类似于游戏密钥侦听器。重写方法只是派生Lwiit的表单并声明public void keyReleased(int keyCode){…}