如何从LWUIT组件处理对话框

时间:2012-01-11 04:43:59

标签: 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 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是一个使用 LWUIT 开发的java程序,我在 MIDLET 里面调用javaForm,它是javaForm1。我包括了所有必要的套餐。

1 个答案:

答案 0 :(得分:2)

为什么不使用Form.addGamekeyListener()

gameKeyListener放入Form {ActionListenerForm延伸),稍后actionPerformed(ActionEvent ae)抓取ae.getKeyEvent的密钥并关闭Dialog

使用Canvas映射GameKeys。例如:Canvas.FIRE