Как я могу удалить диалоговое окно из компонента LWUIT - PullRequest
0 голосов
/ 11 января 2012

Я разрабатываю один проект, используя мобильное приложение 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 Ответ

2 голосов
/ 11 января 2012

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

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

Сопоставьте игровые клавиши с помощью Canvas.Например: Canvas.FIRE.

...