java时钟课程设计_java小时钟课程设计.doc

该博客介绍了如何使用Java编程实现一个简单的小时钟程序。程序通过继承JFrame类并结合Graphics类绘制时钟界面,利用Calendar类获取当前时间来更新秒针、分针和时针的位置。此外,还展示了关键代码片段,包括秒针、分针和时针的绘制以及数字的显示。最后,提到了程序的编译和运行步骤。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gifjava小时钟课程设计.doc

利用JAVA实现一个时钟的小程序1设计方法在设计简单小时钟时,需要编写1个JAVA源文件CLOCKJAVA2程序功能图及程序相关说明21主功能框启动小时钟界面秒针走时分针走时时针走时关闭小时钟图1程序基本框图22程序分析程序中引入的包PACKAGECLOCKIMPORTJAVAAWTCLOCK//颜色类IMPORTJAVAAWTGRAPHICS//图形类IMPORTJAVAAWTEVENTWINDOWADAPTER//窗口事件适配器IMPORTJAVAAWTEVENTWINDOWEVENT//窗口事件类IMPORTJAVAUTILCALENDAR//日历类IMPORTJAVAUTILGREGORIANCALENDAR//使用GREGORIANCALENDAR对象的GET方法(参数)获取时、分、秒用户自定义类说明类名CLOCK作用定义小时钟继承的父类JFRAMEPUBLICCLASSCLOCKEXTENDSJFRAME{定义的对象CLOCKPAINTSIZE//窗口大小RESIZABLE//调整窗口大小LOCATION//初始位置TITLE//窗口标题VISIBLE//窗口可视化WINDOWLISTENER,WINDOWCLOSING//创建窗口,并实现关闭功能定义子类CLOCKPAINT继承的父类名JPANEL继承的接口名RUNNABLECLASSCLOCKPAINTEXTENDSJPANELIMPLEMENTSRUNNABLEINTH,M,S//小时,分钟,秒主要成员方法PUBLICCLOCKPAINTTHISXXTHISYYTHISRRSNOWGETCALENDARSECOND6//获得秒转换成度数MNOWGETCALENDARMINUTE6//获得分钟HNOWGETCALENDARHOUR_OF_DAY1230NOWGETCALENDARMINUTE/126//获得小时主要成员方法PUBLICVOIDPAINTGRAPHICSG//清屏SUPERPAINTGGSETCOLORCOLORBLACK//设置底图颜色为黑色GFILLRECT0,0,R3,R3//画圆GSETCOLORCOLORWHITEGDRAWOVALX,Y,R2,R2//秒针GSETCOLORCOLORREDINTX1INTR10MATHSINRADSINTY1INTR10MATHCOSRADSGDRAWLINEXR,YR,XRX1,YRY1//分针GSETCOLORCOLORBLUEX1INTRR/25MATHSINRADMY1INTRR/25MATHCOSRADMGDRAWLINEXR,YR,XRX1,YRY1//时针GSETCOLORCOLORCYANX1INTRR/15MATHSINRADHY1INTRR/15MATHCOSRADHGDRAWLINEXR,YR,XRX1,YRY1//数字GSETCOLORCOLORYELLOWINTD29FORINTI1I360S0M6IFM72||M144||M216||M288H6IFM360M0H6IFH360H0THISREPAINT3设计结果与分析将5个JAVA源文件SERVERJAVA、OBJECTINGJAVA、LOGINJAVA、CLIENTUSERJAVA、CLIENTJAVA。分别编译这5个JAVA源文件,或运行“JAVACJAVA”命令,编译全部的源文件,然后运行连接服务器的主类,即运行CLOCK类。连接完毕后在运行注册的主函数类,即运行LOGIN类。运行CLOCKJAVA,运行结果如下4.主要代码IMPORTJAVAAWTCOLORIMPORTJAVAAWTGRAPHICSIMPORTJAVAAWTEVENTWINDOWADAPTERIMPORTJAVAAWTEVENTWINDOWEVENTIMPORTJAVAUTILCALENDARIMPORTJAVAUTILGREGORIANCALENDARIMPORTJAVAXSWINGJFRAMEIMPORTJAVAXSWINGJPANELPUBLICCLASSCLOCKEXTENDSJFRAME{//无参数构造器PUBLICCLOCK{CLOCKPAINTCPNEWCLOCKPAINT20,20,70THISADDCPTHISSETSIZE200,200THISSETRESIZABLEFALSETHISSETLOCATION260,120THISSETTITLE“小时钟“THISSETVISIBLETRUEADDWINDOWLISTENERNEWWINDOWADAPTER{PUBLICVOIDWINDOWCLOSINGWINDOWEVENTE{SYSTEMEXIT0}}}PUBLICSTATICVOIDMAINSTRINGS{NEWCLOCK}}//表盘类,继承于JPANEL,并实现RUNNABLE接口,用于多线程CLASSCLOCKPAINTEXTENDSJPANELIMPLEMENTSRUNNABLE{INTX,Y,RINTH,M,S//小时,分钟,秒DOUBLERADMATHPI/180//构造器,初始化PUBLICCLOCKPAINTINTX,INTY,INTR{THISXX//坐标XTHISYY//坐标YTHISRR//表盘的半径CALENDARNOWNEWGREGORIANCALENDARSNOWGETCALENDARSECOND6//获得秒转换成度数MNOWGETCALENDARMINUTE6//获得分钟HNOWGETCALENDARHOUR_OF_DAY1230NOWGETCALENDARMINUTE/126//获得小时THREADTNEWTHREADTHIS//创建一个线程TSTART//表开始走动}//画表盘PUBLICVOIDPAINTGRAPHICSG{//清屏SUPERPAINTGGSETCOLORCOLORBLACK//用黑色GFILLRECT0,0,R3,R3//填充一个黑色的矩形做为背景//画圆GSETCOLORCOLORWHITE//用白色GDRAWOVALX,Y,R2,R2//画出表盘的轮廓//用红色画秒针GSETCOLORCOLORREDINTX1INTR10MATHSINRADSINTY1INTR10MATHCOSRADSGDRAWLINEXR,YR,XRX1,YRY1//用蓝色画分针GSETCOLORCOLORBLUEX1INTRR/25MATHSINRADMY1INTRR/25MATHCOSRADMGDRAWLINEXR,YR,XRX1,YRY1//用青色画时针GSETCOLORCOLORCYANX1INTRR/15MATHSINRADHY1INTRR/15MATHCOSRADHGDRAWLINEXR,YR,XRX1,YRY1//用黄色画表盘上的数字GSETCOLORCOLORYELLOWINTD29FORINTI1I360{S0M6//分针每走72度,时针走6度IFM72||M144||M216||M288{H6}//分针走一圈后,M归零IFM360{M0H6}//时针走一圈后,H归零IFH360{H0}}//重新绘制表盘THISREPAINT}}}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值