电子日历记事本--java课程设计

上传人:简****9 文档编号:99559313 上传时间:2019-09-19 格式:DOC 页数:29 大小:711.72KB
返回 下载 相关 举报
电子日历记事本--java课程设计_第1页
第1页 / 共29页
电子日历记事本--java课程设计_第2页
第2页 / 共29页
电子日历记事本--java课程设计_第3页
第3页 / 共29页
电子日历记事本--java课程设计_第4页
第4页 / 共29页
电子日历记事本--java课程设计_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《电子日历记事本--java课程设计》由会员分享,可在线阅读,更多相关《电子日历记事本--java课程设计(29页珍藏版)》请在金锄头文库上搜索。

1、 面向对象程序设计课程设计报告题 目: 电子日历记事本的设计 院 (系): 信息科学与工程学院 专业班级: 计算机科学与技术1201班 学生姓名: 程伟 学 号: 20121183011 指导教师: 吴奕 20 14 年 12 月 29 日至20 15 年 1 月 9 日华中科技大学武昌分校制 面向对象程序设计 课程设计任务书一、设计(调查报告/论文)题目 电子日历记事本的设计二、设计(调查报告/论文)主要内容内容: 设计GUI界面的日历记事本,系统将记事本与日历相结合,可在任何时间记载编辑或查看相关内容日志,系统可实现基本的辅助办公与行政管理。 基本功能与要求: 设计记事本编辑器程序,所有编

2、辑功能可以在菜单栏中选择,包括编辑、保存、打开、剪切、复制等操作,能打开和显示已存在的文本文件,界面设计要求采用类组件实现。 设计日历系统,要求用图形用户界面实现,用户可以方便地在任何日期编辑有关内容以及查看某个日期记载的内容。日历可以按年/月前后翻动,当鼠标单击“上一年/上一月”按钮时,当前日历的年份/月份将减一;当鼠标左键单击“下一年/下一月”按钮,当前日历的年份/月份将加一。 使用鼠标左键在要选择的日期上单击,如有记事内容,程序将弹出对话框提示用户是否用记事本显示该内容或编辑新内容,同时可将记事本的新内容保存起来,形成一个日志供用户日后使用。 设计用户密码功能或对信息内容加密,提高系统的

3、安全性。三、原始资料1.面向对象程序设计课程设计指导书2. 耿祥义JAVA大学实用教程北京:清华大学出版社,2009四、要求的设计(调查/论文)成果1.课程设计报告2.课程设计软件五、进程安排布置任务,查找资料、需求分析1天总体设计1天详细设计1.5天编制源程序实现3.5天测试与修改1天撰写课设报告2天六、主要参考资料1 张广彬. Java课程设计案例精编(第二版).北京:清华大学出版社, 2011. 2 耿祥义. Java课程设计(第二版).北京:清华大学出版社, 2008.3 耿祥义JAVA大学实用教程北京:清华大学出版社,20094 邹林达陈国君 Java2程序设计基础北京:清华大学出版

4、社,20105 邹林达Java2程序设计基础实验指导北京:清华大学,2010指导教师(签名): 20 年 月 日目 录1需求与总体设计11.1需求分析11.2总体设计思路11.2.1功能图11.2.2类图22详细设计.32.1 CalendarPad类说明32.2 Year类说明32.3 Month 类模块42.4 NotePad类说明43编码实现63.1 CalendarPad模块63.2 Year模块113.3 Month 模块143.4 NotePad模块164系统运行与测试234.1程序主界面234.2日志查看无日志234.3建立日志244.4日志查看有日志244.5删除日志26总结2

5、71需求与总体设计1.1需求分析根据题目要求,将日历与记事本功能相结合,实现对某日期的事件进行记录的功能,设计出简洁方便美观的GUI界面。将本程序主界面可以分为四个部分:日历日期信息展示、年份、月份、记事本内容、记事本下方的时钟,用四个类来实现其“日历”和“记事本”这两大功能。通过主类CalendarPad创建动日历记事本软件的主界面,且该类中含有main方法,程序从该类开始执行。再用余下的year、mouth、NotePad类来显示并改变日期和实现记事本的功能。 1.2总体设计思路1. 可以编辑日历的日期2. 可以判断当前日期是否存在日志记录3. 对有日志记录的日期,可以对该日期的日志记录进

6、行修改和删除4. 对没有日志记录的日期,可以创建并保存新建的日志记录5. 对保存的日志加密,查看时得输入密码1.2.1功能图 1.2.2类图2详细设计2.1 CalendarPad类说明该模块设计主要主要包含以下成员变量:年(year) 月(month)日(day)存放日期的表(Hashtable)存放日志的文件(File)主要方法有:创建程序主面板的构造方法(CalendarPad)处理ActionEvent事件的接口方法(actionPerformed)程序开始运行的main()方法。表1 日历记事本系统主面板与日历板模块(CalendarPad.java)类名CalendarPadpub

7、lic接口MouseListenerpublic方法CalendarPad(int,int,int)设置日历牌(int,int)排列号码(int,int)main()publicpublic voidpublic voidpublic static void2.2 Year类说明该模块用于实现日历记事本系统中关于年的设置模块中包含的主要成员变量有用于改变年的按钮(Jbutton 明年 去年),显示年的文本框(JTextField)模块中包含的主要方法有用于设置年的方法(setYear),用于获取年的方法(getYear)和处理ActionEvent事件的接口方法(actionPerformed

8、)等表2 日历记事本系统年设置模块(Year.java)类名Yearpublic接口ActionListenerpublic方法setYear()getYear()actionPerformed(ActionEvent e)public voidpublic intpublic void2.3 Month 类模块该模块用于实现日历记事本系统中关于月的设置模块中包含的主要成员变量有用于改变月的按钮(Jbutton 上月 下月),显示月的文本框(JTextField)模块中包含的主要方法有用于设置月的方法(setMonth),用于获取月的方法(getMonth)和处理ActionEvent事件的接

9、口方法(actionPerformed)等表3 日历记事本系统月设置模块(Month.java)类名Monthpublic接口ActionListenerpublic方法setMonth()getMonth()actionPerformed(ActionEvent e)public voidpublic intpublic void2.4 NotePad类说明该模块中包含的主要成员变量有文本框(JTextArea),按钮(JButton 保存日志 删除日志),用于存放日志记录的文件(File)以及响应相关操作的信息提示(JLabel)该模块中包含的主要方法有设置信息条,设置文本区,获取日志内容

10、,保存日志,删除日志表4 日历记事本系统记事本模块(NotePad.java)类名NotePadpublic接口ActionListenerpublic方法设置信息条()设置文本区()获取日志内容()保存日志()删除日志()public voidpublic voidpublic voidpublic voidpublic void3编码实现源代码import java.util.Calendar;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.Ha

11、shtable;import java.util.*;import javax.swing.event.*;public class CalendarPad extends JFrame implements MouseListenerint year,month,day; /定义全局变量的三个属性Hashtable hashtable; File file; /定义一个文件变量JTextField showDay; /定义一个文本框组数 JLabel title;Calendar 日历;int 星期几; NotePad notepad=null; /定义一个NotePad对象,必须先给其处置

12、null才能在下面使用Month 负责改变月;Year 负责改变年;String 星期=SUN,MON,TUE,WED,THU,FRI,SAT; /日历表的文字显示JPanel leftPanel,rightPanel; /定义左右两个面板,左边用来显示日历,右边用来显示记事本public 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; /设置year的值this.month=month;this.day=day;负责改变年=new Year(this); /将当前对象的所有操作和属性赋值给year,使Year类的对象可以进行相应的操作负责改变年.setYear(year);负责改变月=new Month(this);负责改变

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号