j2me启动一个动画界面,三秒后跳转到高级界面,但老是跳不过去,帮忙看下这个类有没问题呀。谢谢大虾们

importjavax.microedition.lcdui.Graphics;importjavax.microedition.lcdui.Image;importja... import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.Sprite;

//********跳动的动画类****************//
public class Donghua extends GameCanvas implements Runnable{
private Image img;
private Sprite sp1;
private Graphics gra;
private boolean RUN = true;
private ClientMIDlet4 f;
private long lastTime;
private Thread th = new Thread();

public Donghua(ClientMIDlet4 d){
super(true);

this.f=d;
try{

img = Image.createImage("/QGG.png");
sp1 = new Sprite(img,img.getWidth()/4,img.getHeight());
gra = this.getGraphics();

}catch(Exception ex){
ex.printStackTrace();
}

sp1.setPosition(72, 160);
th.start();

System.out.println("D");
}

public void run() {
lastTime=System.currentTimeMillis();
while(RUN){
sp1.paint(gra);
this.flushGraphics();
sp1.nextFrame();
try{
Thread.currentThread();
Thread.sleep(500);
}catch(Exception ex){

}
if(System.currentTimeMillis()-lastTime>3000){
RUN=false;
}
f.changeForm("Chat");

}

}
}
展开
 我来答
w1daful
2012-06-18 · TA获得超过892个赞
知道答主
回答量:296
采纳率:50%
帮助的人:53.3万
展开全部
f.changeForm("Chat");
这个是你要3000后跳转的位置吗?如果是,应该放在
while(RUN){
......
}后的啊
追问
位置换过去了,还是一样...
我想说的是,动画界面跳转到高级界面时,用不用先停止动画线程呢
追答
嗯,这是一个问题,动画线程必须要先停止的,否则会造成无限循环,重复调用display.setCurrent()方法从而把后来跳转的页面盖掉了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式