转眼间一年又要过了,自己又老了一岁,郁闷啊。趁着还有几分钟才新年,赶快再发几篇文章,给过去的一年添点东西。
该程序是从网上发现的,是一个简单的时钟显示程序。
代码特色:
时钟代码提供了各种接口,可以在html文件中设置,变化出多姿多彩的时钟模型,
参数说明见代码内info数组
时钟的绘制采用双缓冲图形处理机制,即先在缓冲区内绘制图形,再把图形显示到网页上可以有效的防止闪烁。
另外时钟的不断绘制是通过一个线程不断读取系统时间,如果时间有变化即绘制。采用一个线程绘制,一个线程处理网页比较符合APPLET设置规范。
代码部分:
http://www.gaodaima.com/40283.html一个经典的java APPLET时钟程序(一)
import java.awt.*;
import java.applet.*;
import java.util.*;
import java.net.*;
class Hms extends Date
{
public Hms(double localOffset){ //如果HTML文件中设置了时区,则把时间设为当地时区时间
super();
long tzOffset=getTimezoneOffset()*60L*1000L;
localOffset *= 3600000.0;
setTime(getTime() + tzOffset + (long)localOffset);
}
public Hms(){ //如果没有设置时区,则就使用当地的时间
super();
}
public double get_hours() //时间换算,把如5:30这样的时间换算成5.5
{
return (double)super.getHours()+(double)getMinutes()/60.0;
}
}
abstract class ClockHand //抽象类,提供时针、分针、秒针类使用
{
protected int baseX[], baseY[];
protected int transX[],transY[];
protected int numberOfPoints;
public ClockHand(int originX, int originY, int length,int thickness,int points){
baseX= new int[points]; baseY=new int[points];
transX= new int[points]; transY=new int[points];
initiallizePoints(originX,originY,length,thickness);
numberOfPoints=points;
}
abstract protected void initiallizePoints( int originX,