JAVA课程设计
- 格式:docx
- 大小:275.57 KB
- 文档页数:28
成绩评定表 学生姓名 马健博 班级学号 1103030235 专业 电子信息工程 课程设计题目 基于Java的记事本
软件设计
评 语 组长签字:
成绩 日期 2012 年月 日 课程设计任务书 学 院 信息学院 专 业 电子信息工程 学生姓名 马健博 班级学号 1103030235 课程设计题目 基于Java的记事本软件设计 实践教学要求与任务: 采用java技术设计记事本软件,该软件将日历和记事本结合在一起,可以方便的保存、查看日志。即在任何日期记载下有关内容或查看某个日期记载的内容。具体要求如下: (1) 系统界面的左侧是日历和一幅图像。该日历可以按年前后翻动,用鼠标左键单击“上年”按钮,可将当前日历的年份减一;用鼠标左键单击“下年”按钮,可将当前日历的年份加一。该日历还可以在某年内按月前后翻动,用鼠标左键单击“上月”按钮,可将当前日历的月份减一;用鼠标左键单击“下月”按钮,可将当前日历的月份加一。 (2) 系统界面的右侧是记事本和一个时钟,同鼠标单击日历上的日期,就可以通过该记事本编辑有关日志,并将日志保存到一个文件,该文件的名字是由当前日期组成的字符序列。用户可以查看、删除某个日期的日志,也可以继续向某个日志添加新的内容。 (3) 当某个日期由日志时,显示该日期的外观上就会出现“有”标记,表明这个日期由日志;当用户删除某个日期的日志后,该日期的外观上的“有”标记就会消失。
工作计划与进度安排: 第18周:布置课程设计任务,查阅资料,分组设计,程序调试。 第19周:程序调试,编写课程设计报告,验收,答辩。
指导教师: 2012年 月 日 专业负责人: 2012年 月 日 学院教学副院长: 2012年 月 日 目录 目录 1 成绩评定表 .................................................................................. 1 2 课程设计任务书 ......................................................................... 2 3 正文 ............................................................................................... 4 3.1设计目的 ..................................................................................4 3.2总体设计 ........................................................................................4 3.3关键技术 ..................................................................................4 3.3.1CalendarWindow类 ..............................................................5 3.3.2 CalendarMessage类 .............................................................5 3.3.3 CalendarPad类 ...............................................................6 3.3.4NotePad类........................................................................6 3.3.5CalendarImage类 ............................................................6 3.3.6Clock类 ............................................................................6 3.3.7 所需图像 .........................................................................7 3.4程序流程...................................................................................6 3.5主要源代码...............................................................................6 3.6运行结果及结论 .......................................................................6 四、参考资料 .................................................................................. 4 正文 一.设计目的 二.总体设计 三.关键技术 四.程序流程 五.主要源代码 六. 运行结果及结论 一:设计目的: 在掌握了基本的java编程之后,通过课程设计巩固和提高java编程技术,培养程序设计的基本思路和方法,加强研发与调试程序的能力,增强分析解决问题的能力,培养学习java的兴趣以及以及提高论文写作能力。 设计GUI界面的日历记事本,能查看具体时间(年月日以及时刻)以及作记录。 二:总体设计
在设计日历记事本时,需要编写6个基本的Java源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CanlendarImage.java、Clock.java和CalendarMessage.java。此外还有Java系统提供的一些重要类,如JTextField、JTextArea和File类。日历记事本所用到的一些重要的类以及之间的组合关系如下所示:
对6个基本的Java源文件简单介绍: (1)CalendarWindow是主类,该类含有main方法,程序从该类开始执行,负责创建动日历记事本的主窗口,含有5个重要类型的对象:CalendarPad、NotePad、CanlendarImage、Clock和CalendarMessage对象。 (2)CalendarMessage类所创建的对象刻画与“日期”有关的数据。 (3)CalendarPad类所创建的对象用来表示“日历”,负责显示和修改CalendarMessage对象中的日期数据。 (4)NotePad类创建的对象表示“记事本”,提供编辑、读取、保存和删除日志的功能。 (5)CalendarImage类创建的对象负责绘制图像。 (6)Clock类创建的对象负责显示时钟。
三、关键技术
主要介绍基本类的数据与方法: 1.CalendarWindow类 1)成员变量 (1)year,mouth和day是int型数据,分别表示年、月、日。 (2)calendarMessage是CalendarMessage对象,calendarPad是CalendarPad的对象,
CalendarWindow JTextArea JTextField File Clock NotePad CalendarPad CalendarMessage CalendarImage
图3.1 类之间的组合关系 notePad是NotePad对象,calendarImage是CalendarImage对象,clock是Clock对象 (3)showYear、showMouth和showDay是JtextField类创建的文本框,显示年份,月份,日期。 (4)nextYear,previousYear,nextMouth和previousMouth是Jbutton创建的按钮对象,名字依次为“下年”、“上年”、“下月”和“上月”。这些按钮都将当前窗口注册为自己的ActionEvent事件监视器。 (5)saveDailyRwcord,deleteDailyRecord和readDailyRecord是Jbutton创建的按钮对象,名字为“保存日志”、“删除日志”和“读取日志”。这些按钮都将当前窗口注册为自己的ActionEvent事件监视器。 2)方法 (1)CalendarWindow()是构造方法,负责完成窗口的初始化。 (2)ActionPerformed(ActionEvent)方法是CalendarWindow类实现 ActionListener接口中的方法。CalendarWindow创建的窗口是nextYear,previousYear,nextMonth,previousMonth,saveDailyRwcord,deleteDailyRecord和readDailyRecord按钮ActionEent事件监视器,当用户单击其中按钮时,窗口将执行ActionPerformed(ActionEvent)方法进行相应的操作。 (3)mousePressed(MouseEvent)方法是CalendarWindow类实现的MouseListener接口中的方法。CalendarWindow创建的窗口是showDay数组中的JtextField文本框的MouseEvent事件监视器,当用户在某个显示日期的文本框上按下鼠标左键时,窗口将执行mousePressed(MouseEvent)方法进行相应的操作。 (4)focusGained(FocusEvent)和focusLost(FocusEvent)方法是CalendarWindow类实现的FocusListener接口中的方法。CalendarWindow创建的窗口是showDay数组中 的JtextField文本框的FouseEvent事件监视器,当用户的操作导致某个显示*期的文本框的焦点发生变化时,窗口将执行focusGained(FocusEvent)和focusLost(FocusEvent)方法进行相应的操作。 (5)doMark方法负责对有日志的日期作标记。 (6)main方法是程序运行的入口方法。