电子日历记事本--Java课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》课程设计报告
题目:电子日历记事本的设计
院(系):信息科学与工程学院
专业班级:计算机科学与技术1201班
学生姓名:程伟
学号: 20121183011
指导教师:吴奕
20 14 年 12 月 29 日至20 15 年 1 月 9 日
华中科技大学武昌分校制
面向对象程序设计课程设计任务书
目录
1需求与总体设计 1
1.1需求分析 1
1.2总体设计思路 1
1.2.1功能图 1
1.2.2类图 2
2详细设计 (3)
2.1 CalendarPad类说明 3
2.2 Year类说明 3
2.3 Month 类模块 4
2.4 NotePad类说明 4
3编码实现 6
3.1 CalendarPad模块 6
3.2 Year模块 11
3.3 Month 模块 14
3.4 NotePad模块 16
4系统运行与测试 23
4.1程序主界面 23
4.2日志查看——无日志 23
4.3建立日志 24
4.4日志查看——有日志 24
4.5删除日志 26
总结 27
1需求与总体设计
1.1需求分析
根据题目要求,将日历与记事本功能相结合,实现对某日期的事件进行记录的功能,设计出简洁方便美观的GUI界面。
将本程序主界面可以分为四个部分:日历日期信息展示、年份、月份、记事本内容、记事本下方的时钟,用四个类来实现其“日历”和“记事本”这两大功能。通过主类CalendarPad创建动日历记事本软件的主界面,且该类中含有main
方法,程序从该类开始执行。再用余下的year、mouth、NotePad类来显示并改变日期和实现记事本的功能。
1.2总体设计思路
1. 可以编辑日历的日期
2. 可以判断当前日期是否存在日志记录
3. 对有日志记录的日期,可以对该日期的日志记录进行修改和删除
4. 对没有日志记录的日期,可以创建并保存新建的日志记录
5. 对保存的日志加密,查看时得输入密码
1.2.1功能图
1.2.2类图
2详细设计
2.1 CalendarPad类说明
该模块设计主要主要包含以下成员变量:
年(year)
月(month)
日(day)
存放日期的表(Hashtable)
存放日志的文件(File)
主要方法有:
创建程序主面板的构造方法(CalendarPad)
处理ActionEvent事件的接口方法(actionPerformed)
程序开始运行的main()方法。
表1 日历记事本系统主面板与日历板模块(CalendarPad.java)
2.2 Year类说明
该模块用于实现日历记事本系统中关于年的设置
模块中包含的主要成员变量有用于改变年的按钮(Jbutton 明年去年),显示年的文本框(JTextField)
模块中包含的主要方法有用于设置年的方法(setYear),用于获取年的方法(getYear)和处理ActionEvent事件的接口方法(actionPerformed)等
表2 日历记事本系统年设置模块(Year.java)
2.3 Month 类模块
该模块用于实现日历记事本系统中关于月的设置
模块中包含的主要成员变量有用于改变月的按钮(Jbutton 上月下月),显示
月的文本框(JTextField)
模块中包含的主要方法有用于设置月的方法(setMonth),用于获取月的方法(getMonth)和处理ActionEvent事件的接口方法(actionPerformed)等
表3 日历记事本系统月设置模块(Month.java)
2.4 NotePad类说明
该模块中包含的主要成员变量有文本框(JTextArea),按钮(JButton 保存日志删除日志),用于存放日志记录的文件(File)以及响应相关操作的信息提示(JLabel)
该模块中包含的主要方法有设置信息条,设置文本区,获取日志内容,保存日志,删除日志
表4 日历记事本系统记事本模块(NotePad.java)
3编码实现
源代码
import java.util.Calendar;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Hashtable;
import java.util.*;
import javax.swing.event.*;
public class CalendarPad extends JFrame implements MouseListener
{
int
year,month,day; //定义全局变量的三个属性
Hashtable hashtable;
File
file;
//定义一个文件变量
JTextField
showDay[]; //定义一个文本框组数
JLabel title[];
Calendar 日历;
int 星期几;
NotePad notepad=null; //定义一个NotePad对象,必须先给其处置null才能在下面使用
Month 负责改变月;
Year 负责改变年;