java时钟代码_一个经典的JAVA APPLET时钟程序(一)

本文介绍了一个使用JAVA APPLET编写的时钟程序,程序特色在于提供多种接口以在HTML中定制时钟样式,采用双缓冲技术避免闪烁,并通过单独线程实时更新时间。文章详细讲解了包括Hms时间处理类、ClockHand抽象基类及其子类SweepHand和HmHand的实现细节。
摘要由CSDN通过智能技术生成

转眼间一年又要过了,自己又老了一岁,郁闷啊。趁着还有几分钟才新年,赶快再发几篇文章,给过去的一年添点东西。

该程序是从网上发现的,是一个简单的时钟显示程序。

代码特色:

时钟代码提供了各种接口,可以在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,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值