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

  • 格式:doc
  • 大小:171.00 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 负责改变年;