因为大多数J2ME设备不支持GIF格式的图像,因此不可能直接显示一个GIF动画
下面代码说明了如何在MIDlet里边仿真一个GIF动画
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class GIFDemo extends MIDlet {
private boolean boolMotion=false;
private int iX=10,iY=60;
Display mDisplay;
Thread th;
public void destroyApp(boolean unconditional){}
public void pauseApp() {}
public void startApp() {
mDisplay = Display.getDisplay(this);
final MyCanvas can = new MyCanvas();
mDisplay.setCurrent(can);
}
}
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MyCanvas extends Canvas implements Runnable {
Image img[]=new Image[3];
public MyCanvas() {
try {
img[0]=Image.createImage("/img1.png");
img[1]=Image.createImage("/img2.png");
img[2]=Image.createImage("/img3.png");
}catch(Exception e){}
Thread th=new Thread(this);
th.start();
}
//显示图像
public void paint(Graphics g) {
g.drawImage(img[imgIndex],0,0,g.TOP|g.LEFT);
}
//处理按键操作
protected void keyPressed(int keyCode) {
}
public void run() {
while(true) {
imgIndex++;
imgIndex%=3;
try {
Thread.sleep(500);
}catch(Exception e){}
}
}
}
本文介绍了一种在Java ME (J2ME)设备上实现GIF动画仿真的方法,由于J2ME设备通常不支持GIF格式,文章提供了一个示例代码,展示了如何通过循环显示一系列图片来模拟GIF动画效果。
277

被折叠的 条评论
为什么被折叠?



