Как я могу удалить диалоговое окно из компонента LWUIT

Я разрабатываю один проект с использованием 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 - это Java-программа, разработанная с использованием LWUIT, и я вызываю эту javaForm внутри MIDLET, которая называется javaForm1. Я включил все необходимые пакеты.

1 ответ

Решение

Почему вы не используете Form.addGamekeyListener()?

Положить gameKeyListener в молодости Form (продолжается ActionListener в Form) и позже в actionPerformed(ActionEvent ae) захватить ключ с ae.getKeyEvent и закройте Dialog,

Сопоставьте GameKeys с Canvas, Например: Canvas.FIRE,

Другие вопросы по тегам