利用线程实现动态显示系统时间
编写Applet小程序,通过在HTML文档中接收参数,用不同颜色、字体显示当前的系统时间。
importjava.awt.*;
importjava.applet.Applet;
importjava.util.*;
importjava.awt.Graphics;
publicclassclockextendsAppletimplementsRunnable//继承Applet类并实现Runnable接口
{
ThreadclockThread=null;//创建一个空线程
Calendarnow;
privateStrings1;
privateintsize;
intr1,g1,b1;
publicvoidinit()//初始化方法
{
size=Integer.parseInt(getParameter("size"));//获得字体大小
}
publicvoidstart()
{
if(clockThread==null)
{
clockThread=newThread(this,"Clock2");//创建线程对象clockThread
clockThread.start();//开始执行线程
}
}
publicvoidrun()//实现Runnable接口的run()方法
{
ThreadmyThread=Thread.currentThread();//创建线程对象myThread
while(clockThread==myThread){repaint();//通过repaint方法调用paint方法
try
{
Thread.sleep(1000);//休眠1秒
}
catch(InterruptedExceptione){}
}
}
publicvoidpaint(Graphicsg)
{
r1=(int)(Math.random()*255);//通过调用Math类的random产生随机数
g1=(int)(Math.random()*255);//再通过随机数分别设置三原色,红绿蓝
b1=(int)(Math.random()*255);
Colorc=newColor(r1,g1,b1);//创建一个颜色对象
g.setColor(c);//设置颜色
now=Calendar.getInstance();//获得系统当前时间
s1=now.get(now.HOUR)+"时"
+now.get(now.MINUTE)+"分"
+now.get(now.SECOND)+"秒";
Fontf=newFont("",1,size);//设置字体
g.setFont(f);
g.drawString(s1,10,50);//显示指定大小颜色的字符串
}
publicvoidstop()//调用stop方法,停止线程
{
clockThread=null;
}
}
<preclass="html"name="code"><html>
<Appletcode="clock.class"width=300height=100>
<paramname=s1value=s1>
<paramname=sizevalue=30>
</Applet>
</html></pre><br>
<pre></pre>
<p></p>
<pre></pre>
<divstyle="padding-top:20px">
<pstyle="font-size:12px;">利用线程实现动态显示系统时间</p>
</div>
这就是如何利用线程实现动态显示系统时间的方法,希望对大家的学习有所帮助。