时钟与日历课程设计报告_第1页
时钟与日历课程设计报告_第2页
时钟与日历课程设计报告_第3页
时钟与日历课程设计报告_第4页
时钟与日历课程设计报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 报告编号:第六组综合课程设计报告 时钟与日历系统的设计与实现学生姓名: 指导教师: 所 在 系: 电 子 信 息 系 所学专业: 计算机科学与技术 年 级: 2009年12月目 录第1章 前言11.1 系统前景11.2 系统主要功能1第2章 需求分析2第3章 概要设计33.1 主界面模块33.2 时钟模块33.3 日历模块5第4章 详细设计64.1 主界面64.2日历部分74.3时钟部分10第5章 系统测试12第6章 小结16参考文献16附录17摘 要针对用户对日历与时间的系统要求,本应用软件运用java语言编写,在swing组件中通过程序的编写,实现了基本的时钟和日历功能,本应用软件中的时

2、钟时间以所在电脑的系统时间为准,用户可在修改时间的界面中修改系统时间来调整时钟的指向。日历中可以通过单击日历中的数字实现时间的修改。时钟部分可以在动态显示数字钟和图形钟,并且两个互相不影响。修改时钟的时间的时候修改的是本操作系统的时间。本系统中多次运用到了线程机制。可视化主界面里面添加了两个panel,分别放时间和日期的板块。关键字:swing组件 时钟 日历 多线程 可视化界面 第1章 前 言1.1系统前景 随着社会的发展,时间在人的生活中扮演着越来越重要的角色,本系统用JAVA实现的日历和时间的显示更新。现在大部分JAVA写的程序时时钟和日历分开的并且无法改变时间,本系统把时间里面的日历和

3、时钟整合在了一块,而且实现了对时间的修改。 Java是一个面向对象的程序设计语言,可以让我们更好的掌握面向对象思想解决实际问题的能力。Java拥有庞大的API,其中java.lang包下的80%的类都是我们必须熟练掌握的,还有其他如:java.awt包,java.math包等等,AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印,还有Swing组件的基本内容等。运用这些强大的API我们可以开发出很多的应用程序。当然,java的优势在网络编程上,但那不等于java在桌面应用程序这一块不可以,java的思想照样可以做到,甚至更好。1.2系统主要功能(1)本系统实现了对日期和时间

4、的显示。(2)本系统可以根据自己输入来改变计算机系统时间。(3)本系统可以用时钟盘实现时间的动态显示。(4)本系统的开发语言是当下比较流行的JAVA语言开发。第2章 需求分析 本系统为时钟与日历系统的设计与实现,可供用户对当天的日期与时间的查询,也可以对其进行修改。当用户修改时间时,若不符合实际情况,则会提示格式错误,而修改日期时,用户可通过按键上下翻查也可点击界面中的日期显示,点击Enter按键便修改成功。本系统实现以下功能:(1) 系统有两个部分,左边显示的是日期,右边显示的时间。日期部分是一台历形式显示,时间部分包括图形钟和数字钟。(2) 图形钟是根据部分是当地系统时间为准,即图形钟各指

5、针的指向和图形效果是根据当地系统时间而定。(3) 数字钟的显示以本地系统时间而定,每秒跳动一次,本地系统时间改变的同时数字钟的时,分,秒也随着改变。(4) 日历部分,单击数字可以根据点中的数字来改变当前天。(5) 可以单击年份的上下箭头来改变年。(6) 可以单击月份的上下箭头来改变月份。(7) 系统允许用户输入时间来改变数字钟和图形钟的显示改变数字钟和图形钟的同时可以改变本地系统时间。第3章 概要设计3.1 主界面模块设计时钟与日历系统的主界面,分为三部分:(1)菜单栏的设计;(2)左边JPanel放置日历;(3)右边JPanel放置时钟。日历的实现时钟的实现结束开 始主界面的实现3.1主界面

6、流程图3.2 时钟模块(1) 时钟初始化模块类名为Clock,首先在构造函数中初始化Clock,创建一个时间计数器,每一秒触发一次。然后实现函数setCurrentTime(),此函数用来设置当前时间,分别得到小时、分钟、秒数。再实现另一函数paintComponent(Graphics g),在此函数中先初始化始终参数和画时钟框架,再根据数学知识计算画出表盘一圈刻度(60个),接着画出数字12、9、6、3,最后由圆心为起点,分别画出时、分、秒针。开始构造函数初始化取得系统当时时间画出表盘轮廓添加4个数字3,6,9,12根据时间分别画时、分、秒针结束3.2时钟初始化流程图 (2) 时钟修改模块

7、否否是是开始是否要修改时间输入时间格式是否正确将新时间设为系统时间修改成功退出 3.3 时钟修改流程图 3.3 日历模块JPanel名为Main,首先在构造函数将JPanel中的日期显示,月份(Month),年份(Year)JTextFiel和按钮(MonthUp,MonthDown,YearUp,YearDown)布局写好,为JTextField添加MouseListener和KeyListener,每次执行监听事件时,日期的显示刷新一次(实现函数为showDate(),showDays(),showMonth(),showYear())。否是开始初始化星期数,放JPanelDay中在Mai

8、n中,用Mouse类实现上下键改变日期将当天日期放于Main中在JPanelDay中,用Mouse类和Key类实现日期改变是否改变日期Enter确定修改结束 2.4日历流程图第4章 详细设计4.1 主界面程序实现过程:用户可视化界面拖拽出主窗口,在构造函数中定义Calendar对象添加到JPanel定义Clock对象把图形中添加到右边JPanel中。在JMenuBar菜单栏中的统按键添加ActionListener,退出程序。在JMenuBar菜单栏中的帮助按键添加相应的窗口。开始构造主类MainFrame()在swing组件的可视化窗口里拖拽出窗口自动生成构造函数在JMenuBar菜单栏中的

9、系统按键添加ActionListener,退出软件在JMenuBar菜单栏中的帮助按键添加相应的窗口创建时钟Clock的一个对象放入窗口的右边JPanel中结束创建日历Calendar的一个对象入主窗口的左边的JPanel中4.1主界面流程图4.2日历部分 4.2 Main组成图 4.3 Days组成图鼠标点击或按回车键,上图中的out,month,year,day上的日期信息更新鼠标点击按钮,上图中的out,year的日期信息更新鼠标点击安就,上图中的out,year的日期信息更新鼠标点击按钮,上图中out,month,year,day上的日期信息更新鼠标点击按钮,上图中的out,month

10、,的日期更新鼠标点击按钮,上图中out,month的日期更新添加鼠标键盘监听器添加按钮监听器添加按钮监听器添加鼠标键盘监听器添加按钮监听器添加按钮监听器Year(JTextField)YearUp(按钮)YearDown(按钮)Month(JTextField)MonthUp(按钮)MonthDown(按钮)Main(JPanel)Out(JLabel)JPaenlYear(年份)JPanelMonth(月份) 4.4日历总流程说明:监听程序执行时,调用showDate(),showDays(),shwMonth(),showYear()函数对具体日期进行刷新。4.5日历修改对比效果图mont

11、h中日期更新函数是是否初始化本月天数n闰年2月?n加1每周第一天前的按钮?i=0按钮dayi文字之置空,不可选择,更改,i+本月日期按钮添加对应d按钮可编辑如果d的值和获取系统天数对应则可选择,否则不可选择,i+d=1d<n?结束d+i<42?否否是否4.6日历修改流程图4.7 日期显示年月的修改说明:showDate()函数用于刷新上图中out日期的显示,当year,month和日期改变时,out调用showDate()函数,此函数直接取当前系统日期赋给out,showMonth() ,showYear()实现的核心函数。否敲击键盘鼠标时年月刷新改变函数(inputMonth()

12、,inputYear()创建新字符串sYear(month)以年(月)结尾?将从year(month)中取得的值赋给S将从year(month)中字串的长度减1赋给s是将s字符串转换为正数赋给月份,年份 4.8年月修改流程图 4.3时钟部分 (1)时钟显示部分开始此类继承接口线程Runnable类中共有三个函数,构造函数、run()和paint()构造函数初始化,设置其大小、背景和位置在paint()中先初始化时钟参数,设置其表盘的中心和半径大小用g.drawOval()函数画出表盘一圈框架,设置其颜色用循环结构来实现表盘外圈60个绿点(一圈360度平均分为60部分,每60 度画一点)按实际情

13、况画出表盘上12、9、6、3的数字从系统中得到当前的时间time根据time从圆心依次用drawLine()画出时、分及秒针在线程函数run()中实现从系统取时间,反映在表盘上每隔一秒重新调用repaint()函数画时钟程序结束 4.9时钟流程图类名为Clock,继承接口线程Runnable和事件ActionListener,首先在构造函数中初始化Clock,设置其大小、背景和位置。然后实现函数paint(),在此函数中先初始化时钟参数,设置其表盘的中心和半径大小,紧接着画出表盘框架,再循环60次将表盘外一圈用绿色的点平均分为60部分,最后画出12、9、6、3四个数字以及时、分和秒针。在函数r

14、un()中实现线程作用,将系统时间反应在时钟的表盘上。(2)时间修改部分否是否是开始判断用户输入时间,是否满足0<=小时<=23,0<=分钟<=59,0<=秒<=59修改系统时间,提示“修改成功”关闭退出提示“格式错误”用户是否需要修改时间 4.10时间修改流程图点击主界面的操作按键下的修改时间,进入修改界面,修改界面中当前时间显示系统时间,修改时间,点击“确定”,如果输入的串符合时间格式,则转换为整形,修改系统时间并提示“修改成功”,否则提示“格式错误”,点击“取消”,退出该界面。第5章 系统测试5.1系统效果图 整个程序运行以后出现如图5.1的界面。 5

15、.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章 小 结本系统用当下流行的语言实现了模仿Windows xp 系统下的时钟与日历程序。并且能够修改系统的时间。本系统时钟部分的数字钟和图形钟都是取得当地系统时间但是他们用的是不同的线程,使得两部分显示的时间是相同的。但是相互之间不会产生影响。这体现了JAVA的多线程机制。于此同时由于时间的短,本系统没有把window xp 时间和日

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论