..JAVA模拟时钟课设1.课程设计的目的Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了一周的Java程序设计课程设计。通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。使学生通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。2.设计方案论证2.1运行环境:JCreator+JDK平台CPU:Pentium2.8GHz以上内存:256MB以上硬盘空间:80G以上操作系统:WindowsXP2.2设计思路及功能描述Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构中立的,可移植的,性能很优异的,多线程的,动态的语言。Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。这将减少平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。..因此运用Java程序编写模拟时钟程序,实现简单显示时间的功能。本次课程设计做的是Java简单模拟时钟,它是图形界面、线程、流与文件等技术的综合应用,其界面主要采用了java.awt包,javax.swing包等。程序实现了模拟时钟的基本功能。我设计的时钟有的界面良好,比较简洁美观,程序有很强的实用性,实现程序与电脑的时间的同步。可以显示时钟,也可以显示分针秒针,并可以在相应位置调整时间。而且初始运行会自动与电脑的时间校对,一般默认为同步,但还可以自己再次调节,提高了实用性。本系统共包括1个java源文件。Clock源文件是本程序的主函数其作用是初始化棋盘。setCurrentTime源文件实现电脑设置时间。paintHourPointer源文件为时针.paintSecondPointer源文件实现人与电脑设置秒针.paintMinuteDot源文件人与电脑设置分针。2.3方案论证2.3.1详细设计类名:Clock作用:自定义主类,对鼠标拖拽的初始界面进行声明继承的父类:JComponent类实现的接口:没有表1-成员变量表Clock成员变量成员变量描述变量类型名称..时针StringHour分针StringMinute秒针StringSecond时间点TextFieldtext_1表2-方法表Clock方法方法名功能备注setCurrentTime设置当前时间构造方法paintHourPointer设置时针接口方法paintSecondPointer设置秒针接口方法paintMinuteDot设置分针接口方法actionPerformed事件处理run程序运行2.3.2概要设计..图1程序基本框图程序中引入的包:packageClockimportjava.awt.Clockimportjava.awt.Graphicsimportjava.awt.event.WindowAdapterimportjava.awt.event.WindowEventimportjava.util.Calendarimportjava.util.GregorianCalendar用户自定义类:类名:Clock作用:定义模拟时钟继承的父类:JFramepublicclassclockextendsJFrame{定义的对象:启动时钟注册界面秒针走时分针走时时针走时关闭时钟..ClockPaintsizeResizableLocationTitleVisibleWindowListener,WindowClosing主要成员方法:publicvoidcenter//定义小程序查看器的位置publicvoidactionPerformed//定义处理异常机制定义子类:ClockPaint继承的父类名:JPanel继承的接口名:RunnableclassClockPaintextendsJPanelimplementsRunnableinth,m,s//小时,分钟,秒主要成员方法:publicClockPaintthis.x=xthis.y=ythis.r=rs=now.get(Calendar.SECOND)*6//获得秒转换成度数m=now.get(Calendar.MINUTE)*6//获得分钟h=(now.get(Calendar.HOUR_OF_DAY)-12)*30+now.get(Calendar.MINUTE)/12*6..//获得小时主要成员方法:publicvoidpaint(Graphicsg)//清屏super.paint(g)g.setColor(Color.BLACK)g.fillRect(0,0,r*3,r*3)//画圆g.setColor(Color.WHITE)g.drawOval(x,y,r*2,r*2)//秒针g.setColor(Color.RED)intx1=(int)((r-10)*Math.sin(rad*s))inty1=(int...