课 程 设 计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术 标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设 计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页 显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可 以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特 点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。 日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择 背景图片。
可以实现显示时钟,时钟能进行整点报时。可以实现备忘记事功能,能在每 天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功 能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程 图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本 要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能 够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上, 我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅 、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期 ,并能够选择背景图片): 备忘录主界面(实现备忘录的添加,及当前日历的显示): 备忘录主界面(实现备忘录的显示,及对当前备忘录的修改删除等): 时钟主界面(显示当前时间,实现报整点报时功能): 六、实验总结 两周的课程设计结束了,在这其中历尽酸甜苦辣咸各种滋味,不过收获颇丰。
从学习 C语言、数据库等等计算机编程类课程开始,自己始终有种感觉,那就是太理论化了、缺 少实践。而这次的Java程序设计可以说与以往大不相同,先是在课堂上老师讲述了有关 的基础理论、基本语法知识,而后再加上这两周的课程设计,可以说是真正能够体会到 程序编程的乐趣,也第一次发现自己原来对程序设计是如此的感兴趣。尤其是由于课程 时间较紧,课上时间老师只是简单给我们讲述了一下Java Swing的基础知识,并没有去深入,而在此次课程设计中大量用到的监听事件的有关知识 需要自己去查标准文档,去网上找相关系料,这无疑对自己是一个挑战。但是两周下来 ,我做到了,我独立完成了对备忘录程序的编写,累积下来这部分共涉及到包括Action Listener,Mouse Listener,Menu Listener,Document Listener等各种各类监听18个监听,分为6个类,累计完成程序千余行。而给我印象最深 刻的便监听了,可以说是整个备忘录的大部分代码都是与监听相关,这也是让我我学会 了对程序监听的运用,当然只是学会远远谈不上精通。 我编写的类有Test、MainWin、MyMenuListener1、PoliceListen、PoliceListen2、 MyWindowListener。
其中Test类主要是用来定义备忘录主窗口的各种组件以及在相关组 件上添加监听以实现备忘录添加、修改、删除等功能。MainWin类主要是用来创建Test对 象,用以显示窗口的。MyMenuListener1主要是给今日待办菜单定义菜单监听,从而使其 选中后能显示今日待办的备忘记事,而当未被选中时相关的文字、按钮又都会隐藏掉。 PoliceListen主要是用来定义日历日期按钮事件的监听,用以监听当点击相关日期时会 弹出相应日期的备忘记事的窗口来。PoliceListen2主要是定义备忘录窗口中添加按钮的 时间监听,使其被点击后能够显示添加备忘记事功能的相关功能按钮和相关文本区。My WindowListener主要是