实验报告
一.题目简介
设计GUI界面的日历记事本。系统将日历、记事本功能结合在一起,用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。
1. 系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前的日历的年份减一;当鼠标左键单击“下年”按钮,当前日历年份加一。
2. 该日历也可以在某年内按月前后翻动,鼠标单击“上月”按钮时,当前的日历的月份减一;当鼠标左键单击“下月”按钮,当前日历月份加一。
3. 使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日已有记录内容,并询问用户是否用记事本显示该内容。
4.用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。
通过按按钮“上年”和“下年”对年份进行翻页。通过按按钮“上月”和“下月”对月份进行翻页。用户可以通过输入年份来查看自己的日志。
二.源码的github链接
https://github.com/bxoing1994/test/blob/master/日历记事本.md
三.所设计的模块测试用例、测试结果截图
本日历记事本共有4个java源文件。
CalendarPad.java
该java文件生成的类负责创建本日历记事本程序主窗口。该类含有main方法,程序从该类开始执行。
Year.java
该文件负责创建管理年份的对象。
Month.java
该文件负责创建管理月份的类对象。
NotePad.java
该文件负责创建记事本。
4系统详细设计
主类CanlendarPad
1.成员变量
成员变量描述 变量类型 名称 |
年、月、日 int year,month,day 保存日志的散列表 Hanshtable hanshtable 存放散列表的文件 File file 显示日期 JtextFile[] showDay 日历对象 Calendar 日历 记事本对象 NotePad notepad 月 Month 负责改变月 年 Year 负责改变年 |
2.方法
名称 功能 备注 |
CalendarPad 创建窗口主程序 构造方法 设置日历牌 设置日立的年份、月份 排列号码 排列月份中的号码 mousePressed 处理MouseEvent事件 接口方法 main 程序开始运行 |
记事本Note
1、成员变量
描述 变量类型 名称 |
文本输入区 JTextArea text 保存、删除日志的按钮 Button 保存日志、删除日志 保存日志的散列表 Hashtable table 保存散列表的文件 File file 记录日志的人年、月、日 int year,month,day |
2、方法
名称 功能 备注 |
NotaPad 创建记事本对象 构造方法 setYear 设置年份 getYear 获取年份 setMonth 设置月份 getMonth 获取月份 setDay 设置日期 getDay 获取日期 获取日志内容 获取日志内容 保存日志 保存日志 删除日志 删除日志 actionPerformed 处理ActionEvent事件 接口方法 |
年Year
1.成员变量
描述 变量类型 名称 |
表示年份的整数 int year 显示年份的文本条 JtextFiled showYear 负责增减年份的按钮 Jbutton 明年、去年 |
2.方法
名称 功能 备注 |
Year 创建年对象 构造方法 setYear 设置年份 getYear 获取年份 actionPerformed 处理ActionEvent事件 接口方法 |
月Month
1.成员变量
描述 变量类型 名称 |
表示月份的整数 int month 显示月份的文本条 JtextFiled showMonth 负责增减月份的按钮 Jbutton 下月,上月 |
2.方法
名称 功能 备注 |
Month 创建“月”对象 构造方法 SetMonth 设置月份 getMonth 获取月份 actionPerformed 处理ActionEvent 接口方法 |
5 测试
5.1 测试方案
1.打开主界面,鼠标左键点击,查看日历界面。
2.选定一个日期写日志。
3.对日历添加,删除日志。
4.修改年份,查看一些日志。
5.2 测试结果
1.打开主界面,鼠标左键点击,查看日历界面。如图
2.下图为选择的在2011年1月1日写的日志:
3.添加删除日志,如图:
添加日志:
删除日志:
4.修改年份,查看日志:
四.问题及解决方案、心得体会
经过几天的努力,基本上完成了我的java课程设计,也基本上实现了我在需求分析时所预料的功能。通过这次的课程设计,将我从课本上学到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,也让我更深层次的认识了java及其功能的强大。同时做这门课程设计也进一步加强了我的动手能力。为了完成好这次课程设计,做了较多的准备,上网查阅了好多的相关资料,也翻阅了许多的相关的书籍。在这些过程中也无形的锻炼了我的思维分析、遇到问题及想方设法通过各种偶那个途径解决问题的能力。
从理论到实践,在整整几天的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固 ,所以我们一定要好好学习理论知识,为以后的实践打下良好的基础。
通过这次课程设计, 我收获的不仅仅是课本上的知识的实际应用,还有编程的基本习惯和开发系统是应注意的流程。