Java me 如何从LWUIT组件中释放对话框
我正在开发一个项目使用LWUIT,Midlet移动应用程序。当我按数字键时,将打开一个对话框。当我按#,0,*键时,对话框应该关闭。Java me 如何从LWUIT组件中释放对话框,java-me,lwuit,lwuit-dialog,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 k
我正在使用
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是一个使用lwiit开发的java程序,我在MIDLET中调用这个javaForm,它就是javaForm1。我包括了所有必要的包裹 为什么不使用
Form.addGamekeyListener()
将gameKeyListener
放在yout表单中(扩展ActionListener
放在表单中),然后放在actionPerformed(ActionEvent ae)
中,用ae.getKeyEvent
捕获密钥并关闭对话框
使用Canvas
映射游戏键。例如:Canvas.FIRE
在询问新的问题之前,您应该先接受其他问题。您是否检查了该钥匙的钥匙代码?在案件内部使用println,看看发生了什么。是@Bharath。我试过了,但没有成功。我按了2键,它显示50。我再次按下2,它没有打印任何内容完全同意@frayab。你必须接受其他问题。如果你想得到答案,这很重要。@jmunoz。。GameKeyListener下的键是什么。我想使用所有的移动键来显示对话框,来处理对话框。使用addKeyListener而不是game key listener,就像jmunoz解释的那样。您还可以将dialog子类化并覆盖keyReleased回调。为什么?addKeyListener()类似于游戏密钥侦听器。重写方法只是派生Lwiit的表单并声明public void keyReleased(int keyCode){…}