⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 animecanvas.java

📁 几个不错的手机程序例子
💻 JAVA
字号:
/*
 * AnimeCanvas.java
 *
 * Copyright 2001 SkyArts. All Rights Reserved.
 */
import javax.microedition.lcdui.*;

/**
 * Anime的描绘与操作所用的类
 *
 * @author  Hideki Yonekawa
 * @version 1.0
 */
class AnimeCanvas extends Canvas implements Runnable {
	/** 储存动画的图像Index的变量 */
	private int				imgInx;

	/** 储存动画的图像的变量 */
	private Image[]			imgs;

	/** 用来将动画描绘线程停止的标志变量 */
	private boolean			isStopped;

	/** 构造函数 */
	AnimeCanvas() {
		//取得标题图像
		imgs = new Image[3];
		for(int i=0; i < imgs.length; i++) {
			try {
				imgs[i] = Image.createImage("/img" + String.valueOf(i) + ".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() {
		imgInx = 0;
		while(! isStopped) {
			try {
				repaint();				//再描绘
				Thread.sleep(500);		//等待一定时间
				imgInx++;				//改变图像的Index
				if(imgInx >= imgs.length) {
					imgInx = 0;
				}
			}catch(InterruptedException e){}
		}
	}

	/** 进行描绘的方法 */
	protected void paint(Graphics g) {
		//将背景以白色清除
		g.setColor(0x00FFFFFF);
		g.fillRect(0, 0, getWidth(), getHeight());

		//描绘指定Index的图像
		g.drawImage(imgs[imgInx], 0, 0, Graphics.TOP|Graphics.LEFT);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -