时钟与日历课程设计报告.docx
- 文档编号:24990203
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:18
- 大小:334.73KB
时钟与日历课程设计报告.docx
《时钟与日历课程设计报告.docx》由会员分享,可在线阅读,更多相关《时钟与日历课程设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
时钟与日历课程设计报告
报告编号:
第六组
综合课程设计报告
时钟与日历系统的设计与实现
学生:
指导教师:
所在系:
电子信息系
所学专业:
计算机科学与技术
年级:
2009年12月
摘要
针对用户对日历与时间的系统要求,本应用软件运用java语言编写,在swing组件过程序的编写,实现了基本的时钟和日历功能,本应用软件中的时钟时间以所在电脑的系统时间为准,用户可在修改时间的界面中修改系统时间来调整时钟的指向。
日历中可以通过单击日历中的数字实现时间的修改。
时钟部分可以在动态显示数字钟和图形钟,并且两个互相不影响。
修改时钟的时间的时候修改的是本操作系统的时间。
本系统中多次运用到了线程机制。
可视化主界面里面添加了两个panel,分别放时间和日期的板块。
关键字:
swing组件时钟日历多线程可视化界面
第1章前言
1.1系统前景
随着社会的发展,时间在人的生活中扮演着越来越重要的角色,本系统用JAVA实现的日历和时间的显示更新。
现在大部分JAVA写的程序时时钟和日历分开的并且无法改变时间,本系统把时间里面的日历和时钟整合在了一块,而且实现了对时间的修改。
Java是一个面向对象的程序设计语言,可以让我们更好的掌握面向对象思想解决实际问题的能力。
Java拥有庞大的API,其中java.lang包下的80%的类都是我们必须熟练掌握的,还有其他如:
java.awt包,java.math包等等,AWT的基本容,包括各种组件事件、监听器、布局管理器、常用组件、打印,还有Swing组件的基本容等。
运用这些强大的API我们可以开发出很多的应用程序。
当然,java的优势在网络编程上,但那不等于java在桌面应用程序这一块不可以,java的思想照样可以做到,甚至更好。
1.2系统主要功能
(1)本系统实现了对日期和时间的显示。
(2)本系统可以根据自己输入来改变计算机系统时间。
(3)本系统可以用时钟盘实现时间的动态显示。
(4)本系统的开发语言是当下比较流行的JAVA语言开发。
第2章需求分析
本系统为时钟与日历系统的设计与实现,可供用户对当天的日期与时间的查询,也可以对其进行修改。
当用户修改时间时,若不符合实际情况,则会提示格式错误,而修改日期时,用户可通过按键上下翻查也可点击界面中的日期显示,点击Enter按键便修改成功。
本系统实现以下功能:
(1)系统有两个部分,左边显示的是日期,右边显示的时间。
日期部分是一台历形式显示,时间部分包括图形钟和数字钟。
(2)图形钟是根据部分是当地系统时间为准,即图形钟各指针的指向和图形效果是根据当地系统时间而定。
(3)数字钟的显示以本地系统时间而定,每秒跳动一次,本地系统时间改变的同时数字钟的时,分,秒也随着改变。
(4)日历部分,单击数字可以根据点中的数字来改变当前天。
(5)可以单击年份的上下箭头来改变年。
(6)可以单击月份的上下箭头来改变月份。
(7)系统允许用户输入时间来改变数字钟和图形钟的显示改变数字钟和图形钟的同时可以改变本地系统时间。
第3章概要设计
3.1主界面模块
设计时钟与日历系统的主界面,分为三部分:
(1)菜单栏的设计;
(2)左边JPanel放置日历;
(3)右边JPanel放置时钟。
3.1主界面流程图
3.2时钟模块
(1)时钟初始化模块
类名为Clock,首先在构造函数中初始化Clock,创建一个时间计数器,每一秒触发一次。
然后实现函数setCurrentTime(),此函数用来设置当前时间,分别得到小时、分钟、秒数。
再实现另一函数paintComponent(Graphicsg),在此函数中先初始化始终参数和画时钟框架,再根据数学知识计算画出表盘一圈刻度(60个),接着画出数字12、9、6、3,最后由圆心为起点,分别画出时、分、秒针。
3.2时钟初始化流程图
(2)时钟修改模块
3.3时钟修改流程图
3.3日历模块
JPanel名为Main,首先在构造函数将JPanel中的日期显示,月份(Month),年份(Year)JTextFiel和按钮(MonthUp,MonthDown,YearUp,YearDown)布局写好,为JTextField添加MouseListener和KeyListener,每次执行监听事件时,日期的显示刷新一次(实现函数为showDate(),showDays(),showMonth(),showYear())。
2.4日历流程图
第4章详细设计
4.1主界面
程序实现过程:
用户可视化界面拖拽出主窗口,在构造函数中定义Calendar对象添加到JPanel定义Clock对象把图形中添加到右边JPanel中。
在JMenuBar菜单栏中的统按键添加ActionListener,退出程序。
在JMenuBar菜单栏中的帮助按键添加相应的窗口。
4.1主界面流程图
4.2日历部分
4.2Main组成图4.3Days组成图
4.4日历总流程
说明:
监听程序执行时,调用showDate(),showDays(),shwMonth(),showYear()函数对具体日期进行刷新。
4.5日历修改对比效果图
4.6日历修改流程图
4.7日期显示年月的修改
说明:
showDate()函数用于刷新上图中out日期的显示,当year,month和日期改变时,out调用showDate()函数,此函数直接取当前系统日期赋给out,showMonth(),showYear()
实现的核心函数。
4.8年月修改流程图
4.3时钟部分
(1)时钟显示部分
4.9时钟流程图
类名为Clock,继承接口线程Runnable和事件ActionListener,首先在构造函数中初始化Clock,设置其大小、背景和位置。
然后实现函数paint(),在此函数中先初始化时钟参数,设置其表盘的中心和半径大小,紧接着画出表盘框架,再循环60次将表盘外一圈用绿色的点平均分为60部分,最后画出12、9、6、3四个数字以及时、分和秒针。
在函数run()中实现线程作用,将系统时间反应在时钟的表盘上。
(2)时间修改部分
4.10时间修改流程图
点击主界面的操作按键下的修改时间,进入修改界面,修改界面中当前时间显示系统时间,修改时间,点击“确定”,如果输入的串符合时间格式,则转换为整形,修改系统时间并提示“修改成功”,否则提示“格式错误”,点击“取消”,退出该界面。
第5章系统测试
5.1系统效果图
整个程序运行以后出现如图5.1的界面。
5.2修改时间窗口效果图
单击操作-〉修改时间弹出如图5.2所示界面
5.3数字钟效果图
主界面中出现数字时钟如图5.3所示
45.4没加入时钟日历效果图。
没有加入时钟日历的主界面如图5.4所示
5.5时钟效果图
程序运行后图形时钟显示如图5.5所示。
5.6日历效果图
程序运行后日历显示如图5.6所示。
5.7日期部分使用说明图
打开系统时,出现的便是系统当时的日期与时间,日历中可通过图中箭头所指的地方1来查询日期所对应的年月日,也可通过图中箭头所指的地方2来查询。
鼠标单击日历中的数字日期下面的日会随之改变,另外单击“日期”中的向上向下箭头汇市例如“2009-3-28”中的年月随之改变同时也会使2中随时显示当前时间
5.8时间修改使用说明
在划线区域填入要修改的时间,时间格式一次为小时:
分钟:
秒。
如果小时超过23小于0,分钟大于59小于0,秒大于59小于0会报错,如果修改成功会弹出修改成功的对话框提醒用户修改了时间。
第6章小结
本系统用当下流行的语言实现了模仿Windowsxp系统下的时钟与日历程序。
并且能够修改系统的时间。
本系统时钟部分的数字钟和图形钟都是取得当地系统时间但是他们用的是不同的线程,使得两部分显示的时间是相同的。
但是相互之间不会产生影响。
这体现了JAVA的多线程机制。
于此同时由于时间的短,本系统没有把windowxp时间和日历全部实现。
例如时区的修改。
以后的学习中有待进一步改善。
参考文献:
[1]《Java语言程序设计》(第一版)朱福喜:
清华大学2005年1月
[2]《Java案例开发集锦》(第一版)袁然自国:
电子工业2005年9月
[3]《Java应用与开发案例教程》(第一版)徐谡徐立:
清华大学2005年7月
附录
课程分工:
师大学皖江学院
课程设计成绩评定单
题目:
汉诺塔游戏的设计与实现
学生
指导教师
杰
指导教师评语:
指导教师评定
设计成绩等级
指导教师(签章):
200年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时钟 日历 课程设计 报告