读书人

canvas切换到form的按键有关问题

发布时间: 2011-12-30 23:30:45 作者: rapoo

canvas切换到form的按键问题。
我在一个canvas的按键里面构造了一个form类,并且display.setCurrent()这个form

但是同时form的commandAction()也执行了

会不会是因为canvas按键处理KeyPressed()中构造form时还没有返回

也就是说callKeyPressed()的操作还没完成,而form在构造中又setCurrent()了

使的callKeyPressed()又传递给form中的command,然后才返回c到anvas的KeyPressed()


//Canvas的按键处理部分-------------------------------------------

……………………

public void keyMenu()
{
switch(nCursor)
{
case 0:
//System.out.println( "ok ");
if(nState == 7)
{
nSub_state = 1;
nState_now = nSub_state;
nState_next = nState_now;
nScroll_y = 0;
nState = 4;
blnMenu = false;
setCommands(cmdMenu,cmdNull);
}
else
{
http=new Http(app,this);//构造包含form的类
}

break;
………………


*************************************************************************************************************************************************************************


//form类构造器----------------------------------------------------

………………

public Http(Midlet instance,
//-----------------切换到Canvas界面
Main canvas//把Displayable替换成游戏的主Canvas
//-------------------------------------------
) {
form=new Form( "开始游戏 ");
this.instance=instance;
this.canvas=canvas;
display=Display.getDisplay(instance);
out();
display.setCurrent(form);

form.setCommandListener(this);
}

private void out(){
form.addCommand(com_login);
form.addCommand(com_out);
form.append(item_label);
form.append(item);
}
…………

public void commandAction(Command comm, Displayable displayable) {

………………


以上是主要代码。

麻烦了,谢谢!


[解决办法]

http=new Http(app,this);//构造包含form的类
下面添加一个return试一下

读书人网 >J2ME开发

热点推荐