我正在使用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。我包括了所有必要的套餐。
答案 0 :(得分:2)
为什么不使用Form.addGamekeyListener()
?
将gameKeyListener
放入Form
{ActionListener
中Form
延伸),稍后actionPerformed(ActionEvent ae)
抓取ae.getKeyEvent
的密钥并关闭Dialog
。
使用Canvas
映射GameKeys。例如:Canvas.FIRE
。