java课程设计--模拟时钟.docx
《java课程设计--模拟时钟.docx》由会员分享,可在线阅读,更多相关《java课程设计--模拟时钟.docx(14页珍藏版)》请在优知文库上搜索。
1、目录(模拟时钟)第1章课题简述21.1 课题的目的21.2 课题的要求21.2.1 运行的窗口界面的要求21.2.2 程序实现的功能要求2第2章设计思路展示22.1 整个程序的模块结构及流程22.2 实现可显示窗口界面32.3 通过多线程重绘界面32.4 重写paint(GraphicsG)方法32.4.1绘制表盘32.4.2获取系统时间42.4.3绘制指针并显示具体时间42. 4.4增加功能5第3章程序功能的实现62.1 主函数的实现62.2 主要功能模块的实现63. 2.1使用多线程重绘界面63. 2.2获取系统时间并绘制时钟界面7第4章调试及发现问题的解决11第5章程序测试及分析12第6
2、章总结13参考文献14第1章课题简述本次编程语言基础课程设计的题目是设计模拟时钟。1.1 课题的目的模拟时钟是日常生活中所必须的工具。在各种环境下,比如晨起、上下班、各种考试,人们常常需要指示时间的工具,以合理分配时间,达到按时或者及时完成工作或者学习任务的目的,帮助用户实现时间最合理的使用。因此这类工具通过java、C语言等编程语言直接实现具有较大的实际意义。通过模拟时钟课程设计课题的实现,掌握并熟练使用java编程语言的多线程技术,以及GUl技术和日期时间类的使用。为日后的专业课学习打好基础,做好充足准备。1.2 课题的要求1.2.1 运行的窗口界面的要求(1)在窗口绘制表盘和指针指示时间
3、点和其变化。(2)在窗口用数字表显示时间点及其变化。(3)在窗口显示系统日期,包括年月日、上下午和星期。(4)界面显示要美观、简洁易懂,便于用户使用,和获取其需要的相应的时间日期信息。1.2.2 程序实现的功能要求本课题要求通过多线程以每秒的间隔重绘窗口界面,获取系统时间,不断更新显示在窗口界面,以时刻正确指示用户系统时间。Cchongxipaint(Graphicsg)第2章设计思路展示2.1 整个程序的模块结构及流程根据课题要求,整个程序需要一个可显示的窗口界面,在界面上显示不断更新的系统时间。系统时间的显示需要表盘及指针和数字显示,界面重绘和更新通过多线程实现,接下来获取系统时间并重写p
4、aint(Graphicsg)将系统时间显示在窗口界面上。窗口界面模拟时钟数字时钟图2-1程序界面结构图2.2 实现可显示窗口界面由于用户需要在程序一次运行后能够不断获取相应时间日期信息,也就是说,这个运行结果要始终保留给用户,所以可以通过一个可视化的窗口把信息呈现给用户。这个可视化的窗口要求可以显示给用户,它应该有美观的外观,简洁的图形元素,相应的信息输出。一般情况下,用户需要对窗口进行指示,比如调整窗口大小,使得窗口显示或者隐藏,这都需要程序员事先考虑到并通过代码来实现符合用户需要的这些各项功能,以便用户实现。2.3 3通过多线程重绘界面根据课题要求,创建模拟时钟小程序,需要按照固定的时间
5、间隔更新窗口信息,比如时间元素里的秒需要按照一秒的时间间隔去更新,分钟按照60秒的时间间隔去更新,小时按照3600秒的时间间隔去更新,年月日、上下午等需要更长的时间间隔去更新,实现窗口界面的重绘需要用到多线程,选取所有时间间隔的最小值作为重绘界面的休眠值。如,语句Thread.sleep(1000);2. 4重写paint(Graphicsg)方法2.4. 1绘制表盘根据课题要求,模拟时钟的内容要求包括通过模拟时钟显示时间信息。市面上的模拟时钟有不同的外边框,包括矩形、方形和各种动物轮廓形,这里选取标准圆作为模拟时钟的外边框,原因为圆为时钟的传统外边框,具有线条流畅、表现时间点更为直观等特色。
6、外边框由均匀分布的粉色和灰色小圆点组成,这里所有原点不止形成圆形的外观组合,由于其均匀分布在圆内,还能表示时钟上指示时间的60个点,所有原点由48个粉色单色点和12个粉灰双色点组成。表盘除了指示时间的点外,按照表盘外观,圆,的元素特色,特地在圆心处添加了字符串“Karry”,增强可视行与美观性。为了完成圆的绘制,需要获得窗口的高度和宽度,以此作为表盘绘制的参数,以便表盘大小尺寸与窗口大小尺寸相协调。同时创建两个成员变量rl,r2接收这两个参数,代码为rl=getSize().Width/2-40;r2=getSize().height2-T-40;具体如图2-3所示。指针的绘制将在获取时间后实
7、现。karry图2-1模拟时钟的表盘初步展示2.4.2获取系统时间完成模拟时钟小程序必不可少的是获取系统时间,这就要用到时间和日期类Calendar及其子类GregorianCalendar,通过类名创建Calendar对象指向其子类GregorianCalendar,具体代码为:Calendartime=newGregorianCalendar();那么就可以通过对象名time调用Calendar类及其子类GregorianCa1endar的内部方法,若要使用类中特有字段,由于字段的定义为“static”,可以通过类名使用,比如通过使用Calendar类中特有字段和其内部方法get()获取时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 模拟 时钟