课程设计说明书NO.1沈阳大学日历记事本1.课程设计目的通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。本课程设计设计GUI界面的日历记事本,系统将日历和记事本结合在一起,可以方便的保存、查看日志,即在任何日期记载下有关内容或查看某个日期记载的内容。2.设计方案论证2.1设计思路2.1.1本系统界面的左侧是日历和一幅图像。该日历可以按年前后翻动,用鼠标左键单击“上年”按钮,可将当前日历的年份减一;用鼠标左键单击“下年”按钮,可将当前日历的年份加一。该日历还可以在某年内按月前后翻动,用鼠标单击“上月”按钮,可将当前日历的月份减一;用鼠标单击“下月”按钮,可将当前日历的月份增一。2.1.2系统界面的右侧是记事本和一个时钟。用鼠标单击日历上的日期,就可以通过该记事本编辑有关日志,并将日志保存到一个文件。该文件的名字是由当前日期组成的字符序列。用户可以查看、删除某个日期的日志,也可以继续向某个日志添加新的内容。2.1.3当某个日期有日志时,显示该日期的外观上就会出现“有”标记,表明这个日期有日志;当用户删除某个日期的日志后,该日期的外观上的“有”标记就会消失。2.2设计方法在设计日历记事本时,需要编写6个Java源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java、Clock.java和CalendarMessage.java。日历记事本除了需要编写的上述6个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。2.2.1CalendarWindow.java主类课程设计说明书NO.2沈阳大学该类创建动态日历记事本的主窗口,该类含有main方法,是程序的入口程序,CalenderWindow类的成员变量中有5种重要类型的对象,CalendarPad、NotePad、CalendarImage、Clock、CalendarMessage对象。2.2.2CalenderMessage.java该类用来刻画和“日期”有关的数据。2.2.3CalenderPad.java该类是JPanel类的子类,所创建的对象是CalendarWindow类的重要成员之一,用来表示”日历”,即负责显示和修改CalendarMessage对象中的日期数据。2.2.4Notepad.java该类是JPanel的一个子类,创建的对象表示“记事本”,提供编辑读取和保存阐述日志的功能。2.2.5CalendarImage.java该类所创建的对象是CalendarWindow类的成员之一,负责绘制图像。2.2.6Clock.java该类创建的对象是CalendarWindow类的成员之一,负责显示时钟。日历记事本用到的一些重要的类以及之间的关系如图1所示。图1类之间的组合关系图2.3功能模块此设计共有以下几个功能模块。2.3.1年份改变CalendarWindowCalendarImageClockFileNotepadCalenderMessageCalenderPadJTextFieldJTextArea课程设计说明书NO.3沈阳大学点击一次“上年”按钮可增加一年,点击一次“下年”按钮可减少一年,多次连续点击即可依次改变多个年份。2.3.2月份改变点击一次“上月”按钮可以增加一月,点击一次“下年”按钮可以减少一月,多次连续点击即可一次改变多个月份。2.3.3日期显示用于显示当前所选择的所在的年份月份的所有日期、星期,并在记载有日志的日期格中左上角显示“有”标记,而没有记载日志的日期则没有任何标记。2.3.4图片显示为了使本设计界面美观,设置了图片显示模块,使整个设计更加实用、美观、大方。2.3.5日志显示界面的右侧上半部的文本框中,可以选择某天记载日志,并且读取的日志在此部分显示出来。2.3.6时钟显示以传统时钟(有时针、分针、秒针)的模式显示当前的时间。2.3.7保存、删除、读取日志。可以在没有记载日志的日期里记载日志并保存,可以对以保存的日志进行读取、修改或者删除。2.4流程图如下课程设计说明书NO.4沈阳大学图2流程图2.5类、方法、属性说明2.5.1CalendarWindow类(1)成员变量·year,month和day是int型数据,它们的值分别确定年份、月份和日期。·calendarMessage是CalendarMessa...