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

📄 countdowncanvas.java

📁 《精通JAVA手机游戏与应用程序设计》随书光盘
💻 JAVA
字号:
package countDown;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;

public class CountDownCanvas extends Canvas implements Runnable {
	private int hour = 0, minute = 0, second = 0;

	private boolean hourzero = false;//判断是否初始化的时候小时数就是0

	private boolean minzero = false;//判断是否初始化的时候分钟数就是0

	private boolean seczero = false;//判断是否初始化的时候秒数就是0

	public CountDownCanvas(int hour, int minute, int second) {

		this.hour = hour;
		this.minute = minute;
		this.second = second;

		if (hour == 0)
			hourzero = true;
		if (minute == 0)
			minzero = true;
		if (second == 0)
			seczero = true;

		Thread thread = new Thread(this);
		thread.start();
	}

	protected void paint(Graphics g) {
		//清除背景
		g.setColor(0x00ffffff);
		g.fillRect(0, 0, getWidth(), getHeight());

		g.setColor(0x000000ff);
		g.drawString(String.valueOf(hour) + " : " + String.valueOf(minute)
				+ " : " + String.valueOf(second), this.getWidth() / 2, this
				.getHeight() / 2, Graphics.BOTTOM | Graphics.HCENTER);
	}

	public void run() {
		boolean running = true;
		//如果没有设置时间
		if (seczero == true && minzero == true && hourzero == true)
			running = false;
		while (running) {

			if (second == 0) {
				//如果分钟和小时都是0,则退出倒计时
				if (minzero == true && hourzero == true) {
					running = false;
					break;
				}

				if (minute == 0) {
					//如果小时为0,则退出
					if (hourzero == true) {
						running = false;
						break;
					}
					minute = 60;

					if (hour == 0) {
						running = false;
						break;
					}
					hour = (hour - 1) % 12;
				}
				second = 60;
				minute = (minute - 1) % 60;

			}
			second = (second - 1) % 60;

			try {
				Thread.sleep(1000);
				repaint();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}

		}
	}
}

⌨️ 快捷键说明

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