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

📄 clock.java.bak

📁 Java程序设计培训教程2
💻 BAK
字号:
import java.awt.Graphics;
import java.util.Calendar;
import java.awt.Color;
/*类Clock继承了java.applet.Applet,并实现了Runnable接口,由于类Clock中需要使用Thread对象*/
public class Clock extends java.applet.Applet implements Runnable {
	/*声明一个Thread对象*/
	Thread threadObj;
	/*下面的三个int变量表示时钟上一次显示时间的时、分和秒*/
	int oldhours,oldminutes,oldseconds;
	/*布尔变量boolVar用于控制时间的第一次显示*/
	boolean boolVar = true;
	/*在start()方法中对线程对象进行初始化,并启动线程*/
	public void start() {
		if(threadObj == null) {
			/*实例化一个线程对象,线程的名称为Clock,线程的运行目标对象为当前类的对象*/
			threadObj = new Thread(this, "Clock");
			threadObj.start();
		}
	}
	/*下面的run()方法每过一秒对当前的时间进行刷新*/
	public void run() {
		while(threadObj != null) {
			try {
				threadObj.sleep(1000);
			} catch(InterruptedException e) {}
			/*repaint方法用于时间的刷新显示*/
			repaint();
		}
	}
	/*paint方法获得当前的时间并将它显示出来*/
	public void paint(Graphics g) {
		Calendar now = Calendar.getInstance();
		/*下面的三个语句用于获得当前时间的时、分和秒*/
		int hours = now.get(now.HOUR_OF_DAY);
		int minutes = now.get(now.MINUTE);
		int seconds = now.get(now.SECOND);
		//显示当前时间
        g.setColor(Color.black);
		g.drawString(hours + ":" + minutes + ":" + seconds, 60, 60);
		
		/*
		//下面的if和else语句分别控制时间的第一次显示和后续显示。
        if(boolVar == true){
        	//第一次显示时间时,不必进行刷新,直接显示时间就可以了
			g.setColor(Color.black);
			g.drawString(hours + ":" + minutes + ":" + seconds, 60, 60);
			boolVar = false;
		}
		else{
			//除了第一次以外,都需要在显示当前时间之前将上一次时间显示去掉
			g.setColor(getBackground());
			g.drawString(oldhours + ":" + oldminutes + ":" + oldseconds, 60, 60);
			g.setColor(Color.black);
			g.drawString(hours + ":" + minutes + ":" + seconds, 60, 60);
		}
		*/
		
		oldhours = hours;
		oldminutes = minutes;
		oldseconds = seconds;
	}
	/*update()方法用来刷新图象*/
    public void update(Graphics g) {
        paint(g);
    }
	/*停止线程的运行*/
	public void stop() {
		threadObj = null;
	}
}

⌨️ 快捷键说明

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