2012-01-11 1 views
0

Я разрабатываю один проект, используя приложение LWUIT, мобильное приложение Midlet. когда я нажимаю цифровые клавиши, откроется диалоговое окно. когда я нажимаю клавиши #, 0, * Диалог должен быть близок.
Я использую метод Dialog.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 и зову это javaForm внутри Midlet, который javaForm1. Я включил все необходимые пакеты.

+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()?

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

Карта GameKeys с Canvas. Например: Canvas.FIRE.

+0

@ jmunoz .. какие ключи входят в GameKeyListener. Я хочу использовать все мобильные клавиши для отображения Dialog, Dispose Dialog. – Shankar

+1

Используйте addKeyListener вместо прослушивателя игрового ключа, как объяснил jmunoz. Вы также можете подклассировать диалог и переопределить обратный вызов keyReleased. –

+0

@ShaiAlmog является правильным – Mun0n

 Смежные вопросы

  • Нет связанных вопросов^_^