/**
作者: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;
}
}
<html>
<Applet code="clock.class" width=300 height=100>
<param name=s1 value=s1>
<param name=size value=30>
</Applet>
</html>