实验报告

一.题目简介

设计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及其功能的强大。同时做这门课程设计也进一步加强了我的动手能力。为了完成好这次课程设计,做了较多的准备,上网查阅了好多的相关资料,也翻阅了许多的相关的书籍。在这些过程中也无形的锻炼了我的思维分析、遇到问题及想方设法通过各种偶那个途径解决问题的能力。

从理论到实践,在整整几天的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固 ,所以我们一定要好好学习理论知识,为以后的实践打下良好的基础。

通过这次课程设计, 我收获的不仅仅是课本上的知识的实际应用,还有编程的基本习惯和开发系统是应注意的流程。

 

posted on 2015-05-06 16:25  进击的傅艺伟  阅读(216)  评论(5编辑  收藏  举报

导航