中华网通行证
用户名 密码
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  

第五天
 

一个时钟的例子

源代码如下:import java.awt.*;
import java.applet.*;
import java.util.Date; //这是Java中的低级实用工具包,可以处理时间等内容。
public class Applet1 extends Applet implements Runnable //有线程运行接口
{

Date timenow; //Date是一个时间定义与创建函数.
Clock myClock; //用户自定义的类
Thread clockthread=null; //设置一个线程

public void start() //线程开始的类
{
if (clockthread==null) //如果线程为空,则
{
clockthread=new Thread (this); //开始新的线程
clockthread.start(); //开始
}
}

public void stop() //终止线程
{
clockthread.stop(); //终止线程,使它
clockthread=null; //为空
}

public void run() //运行线程
{
while(true) //一个死循环,条件永远都是真的。
{
repaint(); //重新绘制界面
try{Thread.sleep(1000);} //让线程沉睡1000毫秒,也就是一秒钟
catch(InterruptedException e){} //捕获异常(也就是错误)
}
}

public void paint(Graphics g)
{
timenow=new Date(); //新的时间的获得
//获得小时,分钟,秒钟
myClock=new Clock(timenow.getHours (),
timenow.getMinutes (),
timenow.getSeconds ());
g.drawString(timenow.toString(),25,240);//将它打印出来!
myClock.show(g,100,100,100); //使面板显示

}
}

class Clock //用户自定义的类开始,编译后,它单独成为一个CLASS文件
{
Clock(int hrs,int min,int sec) //类函数入口
{
hour=hrs%12; //将原始数据处理,得到小时
minute=min; //将原始数据处理,得到分钟
second=sec; //将原始数据处理,得到小时
}
void show(Graphics g,int cx,int cy,int rad) //重新定义SHOW函数
{
int hrs_len=(int)(rad*0.5), //时针的长度
min_len=(int)(rad*0.6), //分钟的长度
sec_len=(int)(rad*0.9); //秒钟的长度
double theta;
//画出钟面
g.drawOval(cx-rad,cy-rad,rad*2,rad*2);
//画出时针
theta=(double)(hour*60*60+minute*60+second)/43200.0*2.0*Math.PI ;
drawNiddle(g,Color.blue,cx,cy,hrs_len,theta);
//画出分针
theta=(double)(minute*60+second)/3600.0*2.0*Math.PI ;
drawNiddle(g,Color.red,cx,cy,sec_len,theta);
//画出秒针
theta=(double)(second)/60.0*2.0*Math.PI ;
drawNiddle(g,Color.green ,cx,cy,sec_len,theta);
}
private void drawNiddle(Graphics g,Color c,int x,int y,int len,double theta)
{
int ex=(int)(x+len*Math.sin(theta));
int ey=(int)(y-len*Math.cos(theta));
g.setColor (c);
g.drawLine(x,y,ex,ey);
}
int hour,minute,second;
}

   (太平洋电脑信息网) yy435/文  


 

 
更多本栏目内容
??Windows 2000系统安全设置攻略
??Dreamweaver编写CSS需要掌握的技巧
??使用Flash MX过程中的3个小技巧
??拖IE9网站图标到Win7任务栏 精彩好礼任你拿
??从此不再耗流量?Google离线地图试用
??给瑞星添加移动存储自动杀毒功能
??一周壁纸榜单 靓丽风景伴您欢度周末
??金山网络七款软件齐升级 炫丽界面贺新春
??提升网站流量和权重 百度热榜排第一
预警:电商促销引钓鱼 七夕网购需谨慎

本站检索



中华网推荐

·国家级治脑病新药思维源
·中藏药治疗脑病新突破
·治类风湿,强直性脊柱炎
·养肾·痛风·长寿
·肝病泌尿脑萎缩新药介绍
·强直性脊柱炎康复乐园
·让中医辩证不孕不育
·国医治股骨头坏死一绝
·乙肝为何久治不愈?
·二千元垄断批发做老板
·中医中药专治前列腺
·治牛皮癣白癜风已成现实
·专治痛风病的白衣天使
·不孕不育的杏林奇葩
·专卖店零售管理系统





   

网络教室编辑信箱