/**
作者:wwj
日期:2012/4/17
程序要求:编写Applet小程序,通过在HTML文档中接收参数,
用不同颜色、字体显示当前的系统时间,
源程序保存为clock.java,HTML文件保存为clock.html
**/
import java.awt.*;
import java.applet.Applet;
import java.util.*;
import java.awt.Graphics;
public class clock extends Applet implements Runnable//继承Applet类并实现Runnable接口
{
Thread clockThread=null;//创建一个空线程
Calendar now;
private String s1;
private int size;
int r1,g1,b1;
public void init()//初始化方法
{
size=Integer.parseInt(getParameter("size"));//获得字体大小
}
public void start()
{
if(clockThread==null)
{
clockThread=new Thread(this,"Clock2");//创建线程对象clockThread
clockThread.start();//开始执行线程
}
}
public void run()//实现Runnable接口的run()方法
{
Thread myThread=Thread.currentThread();//创建线程对象myThread
while(clockThread==myThread){repaint();//通过repaint方法调用paint方法
try
{
Thread.sleep(1000);//休眠1秒
}
catch (InterruptedException e){}
}
}
public void paint(Graphics g)
{
r1=(int)(Math.random()*255);//通过调用Math类的random产生随机数
g1=(int)(Math.random()*255);//再通过随机数分别设置三原色,红绿蓝
b1=(int)(Math.random()*255);
Color c=new Color(r1,g1,b1);//创建一个颜色对象
g.setColor(c);//设置颜色
now=Calendar.getInstance(); //获得系统当前时间
s1=now.get(now.HOUR)+"时"
+now.get(now.MINUTE)+"分"
+now.get(now.SECOND)+"秒";
Font f=new Font("",1,size);//设置字体
g.setFont(f);
g.drawString(s1,10,50);//显示指定大小颜色的字符串
}
public void stop()//调用stop方法,停止线程
{
clockThread=null;
}
}