import javax.microedition.lcdui.*;
class Abc extends Canvas implements Runnable {
/** 储存Image对象的变量 */
private Image imga;
private Image imgb;
private boolean isStopped;
private int i;
/** 构造函数 */
Abc() {
//取得图像
try {
imga = Image.createImage("/a.png" ;//空白图片
imgb = Image.createImage("/b.png" ;//自己照片
}catch(java.io.IOException e) {}
//开始描绘线程
doStart();
}
/** 启动动画线程的方法 */
private void doStart() {
isStopped = false;
Thread th = new Thread(this);
th.start();
}
/** 停止动画线程的方法 */
private void doStop() {
isStopped = true;
}
/** 动画线程处理部分 */
public void run() {
i=0;
while(! isStopped) {
try {
repaint(); //再描绘
Thread.sleep(100); //等待一定时间
i+= 5;
if(i >= getWidth()) {
i = getWidth();
}
}catch(InterruptedException e){}
}
}
/** 进行描绘的方法 */
protected void paint(Graphics g) {
//将背景涂白
g.setColor(0x00FFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
//画背景图空白
g.drawImage(imga,0,0,20);
//以下部分是关键
g.setClip(0,0,128,i);
//我自己照片
g.drawImage(imgb,0,0,20);
g.setClip(0,0,i,128);
g.drawImage(imgb,0,0,20);
}
}
/*若为g.setClip(0,0,128,i);
g.drawImage(imgb,0,0,20);
是从上到下显示
若为g.setClip(0,0,i,128);
g.drawImage(imgb,0,0,20);
是从左到右显示
若为g.setClip(0,0,i,i);
是什么忘拉自己演示
*/