java程序课程设计日历记事本.doc
《java程序课程设计日历记事本.doc》由会员分享,可在线阅读,更多相关《java程序课程设计日历记事本.doc(20页珍藏版)》请在沃文网上搜索。
1、Java程序设计课程设计报告(2011) 目 录目 录21 概 述11.1 课程设计目的11.2 课程设计内容12 系统需求分析12.1 系统目标12.2 主体功能12.3 开发环境13系统概要设计13.1 系统的功能模块划分与系统流程图14系统详细设计25 测试45.1 测试方案45.2 测试结果46 小结6参考文献8附 录9附录1 源程序清单93学生成绩管理系统的设计1 概 述 1.1 课程设计目的1) 巩固和提高java编程技术。2) 培养掌握成学设计的基本思路和方法。3) 加强研发、调试程序的能力。4) 增强分析、解决问题的能力。5) 提高科技论文写作能力。1.2 课程设计内容设计GU
2、I界面的日历记事本。系统将日历、记事本功能结合在一起,用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。2 系统需求分析2.1 系统目标1. 系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前的日历的年份减一;当鼠标左键单击“下年”按钮,当前日历年份加一。2. 该日历也可以在某年内按月前后翻动,鼠标单击“上月”按钮时,当前的日历的月份减一;当鼠标左键单击“下月”按钮,当前日历月份加一。3. 使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日已有记录内容,并询问用户是否用记事本显示该内容。2.2 主体功能用户可以方便地在任何日期记录下有关
3、内容或查看某个日期的记录内容。通过按按钮“上年”和“下年”对年份进行翻页。通过按按钮“上月”和“下月”对月份进行翻页。用户可以通过输入年份来查看自己的日志。2.3 开发环境Windows XP;jdk1.5.0-0-05;ultraedit开发工具3系统概要设计3.1 系统的功能模块划分与系统流程图本日历记事本共有4个java源文件。CalendarPad.java该java文件生成的类负责创建本日历记事本程序主窗口。该类含有main方法,程序从该类开始执行。Year.java该文件负责创建管理年份的对象。Month.java该文件负责创建管理月份的类对象。NotePad.java该文件负责创
4、建记事本。CalendarPa(主类)NotepadYearMonth4系统详细设计主类CanlendarPad 1.成员变量成员变量描述 变量类型 名称年、月、日 int year,month,day保存日志的散列表 Hanshtable hanshtable存放散列表的文件 File file 显示日期 JtextFile showDay日历对象 Calendar 日历记事本对象 NotePad notepad月 Month 负责改变月 年 Year 负责改变年2.方法名称 功能 备注 CalendarPad 创建窗口主程序 构造方法设置日历牌 设置日立的年份、月份 排列号码 排列月份中的
5、号码mousePressed 处理MouseEvent事件 接口方法main 程序开始运行记事本Note1、成员变量描述 变量类型 名称 文本输入区 JTextArea text 保存、删除日志的按钮 Button 保存日志、删除日志保存日志的散列表 Hashtable table保存散列表的文件 File file记录日志的人年、月、日 int year,month,day2、方法名称 功能 备注 NotaPad 创建记事本对象 构造方法 setYear 设置年份getYear 获取年份 setMonth 设置月份 getMonth 获取月份setDay 设置日期getDay 获取日期 获取
6、日志内容 获取日志内容 保存日志 保存日志 删除日志 删除日志actionPerformed 处理ActionEvent事件 接口方法 年Year1.成员变量描述 变量类型 名称表示年份的整数 int year 显示年份的文本条 JtextFiled showYear负责增减年份的按钮 Jbutton 明年、去年 2.方法名称 功能 备注Year 创建年对象 构造方法 setYear 设置年份 getYear 获取年份actionPerformed 处理ActionEvent事件 接口方法月Month1.成员变量描述 变量类型 名称表示月份的整数 int month显示月份的文本条 Jtext
7、Filed showMonth负责增减月份的按钮 Jbutton 下月,上月2.方法名称 功能 备注Month 创建“月”对象 构造方法SetMonth 设置月份 getMonth 获取月份actionPerformed 处理ActionEvent 接口方法5 测试5.1 测试方案1.打开主界面,鼠标左键点击,查看日历界面。2.选定一个日期写日志。3.对日历添加,删除日志。4.修改年份,查看一些日志。5.2 测试结果1.打开主界面,鼠标左键点击,查看日历界面。如图2.下图为选择的在2011年1月1日写的日志:3.添加删除日志,如图:添加日志:删除日志:4.修改年份,查看日志:6 小结经过几天的
8、努力,基本上完成了我的java课程设计,也基本上实现了我在需求分析时所预料的功能。通过这次的课程设计,将我从课本上学到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,也让我更深层次的认识了java及其功能的强大。同时做这门课程设计也进一步加强了我的动手能力。为了完成好这次课程设计,做了较多的准备,上网查阅了好多的相关资料,也翻阅了许多的相关的书籍。在这些过程中也无形的锻炼了我的思维分析、遇到问题及想方设法通过各种偶那个途径解决问题的能力。从理论到实践,在整整几天的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所
9、没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固 ,所以我们一定要好好学习理论知识,为以后的实践打下良好的基础。通过这次课程设计, 我收获的不仅仅是课本上的知识的实际应用,还有编程的基本习惯和开发系统是应注意的流程。17参考文献1耿祥义,张跃平. Ja
10、va2实用教程(第三版)M . 北京:清华大学出版社, 2006 2耿祥义. Java课程设计(第三版)M . 北京:清华大学出版社, 20043张跃平.Java2实用教程实验指导与习题解答(第三版)M. 北京:清华大学出版社, 2004附 录附录1 源程序清单日历记事本的源程序代码主类 CalendarPad:CalendarPad。Javaimport java.util.Calendar;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.Hash
11、table;public class CalendarPad extends JFrame implements MouseListener int year,month,day; Hashtable hashtable; File file; JTextField showDay; JLabel title; Calendar 日历; int 星期几; NotePad notepad=null; Month 负责改变月; Year 负责改变年; String 星期=星期日,星期一,星期二,星期三,星期四,星期五,星期六; JPanel leftPanel,rightPanel; public
12、 CalendarPad(int year,int month,int day) leftPanel=new JPanel(); JPanel leftCenter=new JPanel(); JPanel leftNorth=new JPanel(); leftCenter.setLayout(new GridLayout(7,7); rightPanel=new JPanel(); this.year=year; this.month=month; this.day=day; 负责改变年=new Year(this); 负责改变年.setYear(year); 负责改变月=new Mont
13、h(this); 负责改变月.setMonth(month); title=new JLabel7; showDay=new JTextField42; for(int j=0;j7;j+) titlej=new JLabel(); titlej.setText(星期j); titlej.setBorder(BorderFactory.createRaisedBevelBorder(); leftCenter.add(titlej); title0.setForeground(Color.red); title6.setForeground(Color.blue); for(int i=0;i
14、42;i+) showDayi=new JTextField(); showDayi.addMouseListener(this); showDayi.setEditable(false); leftCenter.add(showDayi); 日历=Calendar.getInstance(); Box box=Box.createHorizontalBox(); box.add(负责改变年); box.add(负责改变月); leftNorth.add(box); leftPanel.setLayout(new BorderLayout(); leftPanel.add(leftNorth,
15、BorderLayout.NORTH); leftPanel.add(leftCenter,BorderLayout.CENTER); leftPanel.add(new Label(请在年份输入框输入所查年份(负数表示公元前),并回车确定), BorderLayout.SOUTH) ; leftPanel.validate(); Container con=getContentPane(); JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel,rightPanel); con.add(split,Bor
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序 课程设计 日历 记事本