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

下载本文档

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

文档简介

报告编号 第六组 综合课程设计报告综合课程设计报告 时钟与日历系统的设计与实现时钟与日历系统的设计与实现 学生姓名 学生姓名 指导教师指导教师 所所 在在 系 系 电电 子子 信信 息息 系系 所学专业 所学专业 计算机科学与技术计算机科学与技术 年年 级级 2009 年 12 月 目目 录录 第 1 章 前言 1 1 1 系统前景 1 1 2 系统主要功能 1 第 2 章 需求分析 2 第 3 章 概要设计 3 3 1 主界面模块 3 3 2 时钟模块 3 3 3 日历模块 5 第 4 章 详细设计 6 4 1 主界面 6 4 2 日历部分 7 4 3 时钟部分 10 第 5 章 系统测试 12 第 6 章 小结 16 参考文献 16 附录 17 1 摘摘 要要 针对用户对日历与时间的系统要求 本应用软件运用 java 语言编写 在 swing 组件中通过程序的编写 实现了基本的时钟和日历功能 本应用软件中的 时钟时间以所在电脑的系统时间为准 用户可在修改时间的界面中修改系统时 间来调整时钟的指向 日历中可以通过单击日历中的数字实现时间的修改 时钟部分可以在动态 显示数字钟和图形钟 并且两个互相不影响 修改时钟的时间的时候修改的是 本操作系统的时间 本系统中多次运用到了线程机制 可视化主界面里面添加 了两个 panel 分别放时间和日期的板块 关键字 关键字 swing 组件 时钟 日历 多线程 可视化界面 1 第第 1 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 第第 2 2 章章 需求分析需求分析 本系统为时钟与日历系统的设计与实现 可供用户对当天的日期与时间的 查询 也可以对其进行修改 当用户修改时间时 若不符合实际情况 则会提 示格式错误 而修改日期时 用户可通过按键上下翻查也可点击界面中的日期 显示 点击 Enter 按键便修改成功 本系统实现以下功能 1 系统有两个部分 左边显示的是日期 右边显示的时间 日期部分是 一台历形式显示 时间部分包括图形钟和数字钟 2 图形钟是根据部分是当地系统时间为准 即图形钟各指针的指向和图 形效果是根据当地系统时间而定 3 数字钟的显示以本地系统时间而定 每秒跳动一次 本地系统时间改 变的同时数字钟的时 分 秒也随着改变 4 日历部分 单击数字可以根据点中的数字来改变当前天 5 可以单击年份的上下箭头来改变年 6 可以单击月份的上下箭头来改变月份 7 系统允许用户输入时间来改变数字钟和图形钟的显示改变数字钟和图 形钟的同时可以改变本地系统时间 3 第第 3 3 章章 概要设计概要设计 3 13 1 主界面模块主界面模块 设计时钟与日历系统的主界面 分为三部分 1 菜单栏的设计 2 左边 JPanel 放置日历 3 右边 JPanel 放置时钟 3 1 主界面流程图 3 23 2 时钟模块时钟模块 1 时钟初始化模块 类名为 Clock 首先在构造函数中初始化 Clock 创建一个时间计数器 每一秒触发一次 然后实现函数 setCurrentTime 此函数用来设置当前时间 分别得到小时 分钟 秒数 再实现另一函数 paintComponent Graphics g 在此函数中先初始化始终参数和画时钟框架 再根据数学知识计算画出表盘一圈刻度 60 个 接着画出数字 12 9 6 3 最后由圆心为 起点 分别画出时 分 秒针 日历的实现时钟的实现 结束 开 始 主界面的实现 4 3 2 时钟初始化流程图 2 时钟修改模块 3 3 时钟修改流程图 开始 构造函数初始化 取得系统当时时间 画出表盘轮廓 添加 4 个数字 3 6 9 12 根据时间分别画时 分 秒针 结束 否 否 是 是 开始 是否要修改时间 输入时间格式是否正确 将新时间设为系统时间 修改成功 退出 5 3 3 日历模块 JPanel 名为 Main 首先在构造函数将 JPanel 中的日期显示 月份 Month 年份 Year JTextFiel 和按钮 MonthUp MonthDown YearUp YearDown 布局写好 为 JTextField 添 加 MouseListener 和 KeyListener 每次执行监听事件时 日期的显示刷新一次 实现函数为 showDate showDays showMonth showYear 2 4 日历流程图 否 是 开始 初始化星期数 放 JPanelDay 中 在 Main 中 用 Mouse 类实现 上下键改变日期 将当天日期放于 Main 中 在 JPanelDay 中 用 Mouse 类和 Key 类实现日期改变 是否改变日期 Enter 确定修改 结束 6 第第 4 4 章章 详细设计详细设计 4 14 1 主界面主界面 程序实现过程 用户可视化界面拖拽出主窗口 在构造函数中定义 Calendar 对象添加到 JPanel 定义 Clock 对象把图形中添加到右边 JPanel 中 在 JMenuBar 菜单栏中的统按键添加 ActionListener 退出程序 在 JMenuBar 菜单栏中的帮助按键添加相应的窗口 4 1 主界面流程图 开始 构造主类 MainFrame 在 swing 组件的可视化窗口里 拖拽出窗口 自动生成构造函数 在 JMenuBar 菜单栏中的系统 按键添加 ActionListener 退 出软件 在 JMenuBar 菜单栏中的帮助按键 添加相应的窗口 创建时钟 Clock 的一个对象放 入窗口的右边 JPanel 中 结束 创建日历 Calendar 的一个对 象入主窗口的左边的 JPanel 中 7 4 24 2 日历部分日历部分 4 2 Main 组成图 4 3 Days 组成图 鼠标点击或按 回车键 上图 中的 out month year day 上的 日期信息更新 鼠标点击按 钮 上图中 的 out year 的日期信息 更新 鼠标点击安 就 上图中 的 out year 的日期信息 更新 鼠标点击按 钮 上图中 out month ye ar day 上的 日期信息更 新 鼠标点击 按钮 上 图中的 out month 的日期更 新 鼠标点击按 钮 上图中 out month 的 日期更新 添加鼠标键 盘监听器 添加按钮 监听器 添加按钮 监听器 添加鼠标 键盘监听 器 添加按钮 监听器 添加按钮监 听器 Year JTe xtField YearUp 按钮 YearDown 按钮 Month JT extField MonthUp 按钮 MonthDo wn 按钮 Main JPanel Out JLabel JPaenlYear 年份 JPanelMonth 月份 4 4 日历总流程 说明 说明 监听程序执行时 调用 showDate showDays shwMonth showYear 函数对具 体日期进行刷新 8 4 5 日历修改对比效果图 month 中日 期 更新函数 是 是 否 初始化本月天数 n 闰年 2 月 n 加 1 每周第一天前的按钮 i 0 按钮 day i 文 字之置 空 不 可选择 更改 i 本月日期按钮添加对应 d 按钮可编辑如果 d 的值和获取系统天数对 应则可选择 否则不可选择 i d 1 d n 结束 d i 42 否 否 是 否 4 6 日历修改流程图 9 4 7 日期显示年月的修改 说明 说明 showDate 函数用于刷新上图中 out 日期的显示 当 year month 和日期改变时 out 调用 showDate 函数 此函数直接取当前系统日期赋给 out showMonth showYear 实现的核心函数 否 敲击键盘鼠标时年月刷新改变 函数 inputMonth inputYear 创建新字符串 s Year month 以年 月 结尾 将从 year month 中取得的值赋给 S将从 year month 中字串的长度减 1 赋给 s 是 将 s 字符串转换为正数赋给月份 年份 4 8 年月修改流程图 10 4 34 3 时钟部时钟部分分 1 时钟显示部分 4 9 时钟流程图 类名为 Clock 继承接口线程 Runnable 和事件 ActionListener 首先在构造函数中初始化 Clock 设置其大小 背景和位置 然后实现函数 paint 在此函数中先初始化时钟参数 设 置其表盘的中心和半径大小 紧接着画出表盘框架 再循环 60 次将表盘外一圈用绿色的点平 均分为 60 部分 最后画出 12 9 6 3 四个数字以及时 分和秒针 在函数 run 中实现线 程作用 将系统时间反应在时钟的表盘上 开始 此类继承接口线程Runnable类中共有三 个函数 构造函数 run 和paint 构造函数初始化 设置其 大小 背景和位置 在 paint 中先初始化时钟参数 设置其表盘的中心和半径大小 用g drawOval 函数画出表盘 一圈框架 设置其颜色 用循环结构来实现表盘外圈 60 个绿点 一圈 360 度平均分为 60 部分 每 60 度画一点 按实际情况画出表盘上 12 9 6 3 的数字 从系统中得到当前的时 间time 根据time从圆心依次用 drawLine 画出时 分及秒 针 在线程函数run 中实现从 系统取时间 反映在表盘上 每隔一秒重新调用 repaint 函数画时钟 程序结束 11 2 时间修改部分 否 是 否 是 开始 判断用户输入时间 是否满 足 0 小时 23 0 分钟 59 0 秒 59 修改系统时间 提示 修改成功 关闭退出 提示 格式错误 用户是否需要修改 时间 4 10 时间修改流程图 点击主界面的操作按键下的修改时间 进入修改界面 修改界面中当前时间显示系统时 间 修改时间 点击 确定 如果输入的串符合时间格式 则转换为整形 修改系统时间并 提示 修改成功 否则提示 格式错误 点击 取消 退出该界面 12 第第 5 5 章章 系统测试系统测试 5 1 系统效果图 整个程序运行以后出现如图 5 1 的界面 5 2 修改时间窗口效果图 单击操作 修改时间弹出如图 5 2 所示界面 13 5 3 数字钟效果图 主界面中出现数字时钟如图 5 3 所示 4 5 4 没加入时钟日历效果图 没有加入时钟日历的主界面如图 5 4 所示 14 5 5 时钟效果图 程序运行后图形时钟显示如图 5 5 所示 5 6 日历效果图 程序运行后日历显示如图 5 6 所示 15 5 7 日期部分使用说明图 打开系统时 出现的便是系统当时的日期与时间 日历中可通过图中箭头所指的地方 1 来查询日期所对应的年月日 也可通过图中箭头所指的地方 2 来查询 鼠标单击日历中的数 字日期下面的日会随之改变 另外单击 日期 中的向上向下箭头汇市例如 2009 3 28 中 的年月随之改变同时也会使 2 中随时显示当前时间 5 8 时间修改使用说明 在划线区域填入要修改的时间 时间格式一次为小时 分钟 秒 如果小时超过 23 小于 0 分钟大于 59 小于 0 秒大于 59 小于 0 会报错 如果修改成功会弹出修改成功的对话框提 醒用户修改了时间 16 第第 6 6 章章 小小 结结 本系统用当下流行的语言实现了模仿 Windows xp 系统下的时钟与日历程序 并且能够 修改系统的时间 本系统时钟部分的数字钟和图形钟都是取得当地系统时间但是他们用的是 不同的线程 使得两部分显示的时间是相同的 但是相互之间不会产生影响 这体现了 JAVA 的多线程机制 于此同时由于时间的短 本系统没有把 window xp 时间和日历全部实现 例如时区的修 改 以后的学习中有

温馨提示

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

评论

0/150

提交评论