Java日历记事本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NIIT-2综合训练
日历记事本
专业计算机科学与技术
学生姓名
班级
学号
指导教师
完成日期
信息工程学院
目录
一、综合训练的目的 (1)
二、综合训练的内容 (1)
三、综合训练的具体实现 (1)
四、综合训练的总结 (2)
附录:源程序清单 (3)
NIIT-2综合训练
一、综合训练的目的
(1) 进一步巩固所学的Java语言基础知识,达到熟练编写、运用的程度;
(2) 锻炼自己的面向对象的程序设计思想,能够深刻认识面向过程与面向对象两种设计方法之间的区别;
(3) 熟练掌握具体软件开发平台下(NetBeans)的动手能力,掌握Java应用程序设计的方法与技巧,实现从传统面向过程程序设计思维到面向对象程序设计思维的转型;
(4) 初步了解MIS的概念与相关知识,具备独立设计、实现小型MIS系统的应用开发能力。
二、综合训练的内容
题目:日历记事本
三、综合训练的具体实现
1.设计内容
设计GUI界面的日历记事本。系统将日历,记事本功能结合在一起,用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。
2.设计要求
1.系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前日历的年份减一;当鼠标左键单击“下年”按钮,当前日历的年份加一。
2.该日历也可以在某年内按月前后翻动。鼠标单击“上月”按钮时,当前日历的月份减一;当鼠标左键单击“下月”按钮,当前日历表的月份加一。
3.使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日历已有记录内容,并询问用户是否用记事本显示该内容。
4.用户选择具体日期后,可以将记事本的当前内容保存起来,形成日志。
3.总体设计
本日历记事本程序共有4个java源文件。
CalendarPad.java
该java文件生成的类负责创建本日历记事本程序主窗口。该类含有main方法,程序从该类开始执行。
Year.java
该文件负责创建管理年份的对象。
Momth.java
该文件负责创建管理月份的类对象。
NotePad.java
该文件负责创建记事本。
4.具体设计
运行效果与程序发布
1.将4个java文件保存到一个文件夹中。将4个文件分别编译生成相应的
字节码文件。然后,用java解释器运行主类,效果如图:
2.可以使用jar.exe把一些文件压缩成JAR文件,来发布我们的应用程序。可以把本java应用程序中涉及到的类文件压缩成一个JAR文件,例如CalendarPad.jar.
首先,用文本编辑器编写一个清单文件,然后,如下生成JAR文件:
C:\notepad\jar cfm CalendarPad.jar moon.mf *.class
其中,参数c表示要生成一个新的JAR文件;f表示要生成的JAR文件的名字;m表示清单文件的名字。现在皆就可以将Calendar.Jar拷贝到任何一个安装了java 运行环境的计算机上,只要用鼠标双击文件就可以运行本java应用程序了。
另外创建一个帮助文件help.txt,内容如下:
您可以用鼠标双击CalendarPad.jar或CalendarPad.bat来运行本软件,但是,如果您的计算机上安装了中文版WinRAR解压缩软件,并将.jar文件与该解压缩软件做了关联,那么,用鼠标双击CalendarPar.jar文件时,WinRAR解压缩软件会自动运行进行解压缩操作,这时您可以双击Calendar.Pad.bat来运行我们的软件。
最后,将.bat文件,.jar文件,帮助文件一同发布。
四、综合训练的总结
经过一个学期的JA V A学习,我对JA V A编程有了一定的认识,在做这个课程设计的时候,刚开始感觉自己无从下手,不知道该怎么开始,很茫然。最终利用网络资源和查阅图书馆的书籍,在傅老师和同学的指导和讨论下,经过一段时间终于完成了这个设计。当程序运行结束看到弹出的日历记事本的界面时,感到很欣慰,虽然只是一个小小的东西,但却是自己起步的成就,从中学到了很多书本知识不能体现的东西,对JA V A
的学习有了一定的兴趣。也通过这次的程序设计感觉到自己平时对于编程实际操作的贫乏,没有把书本上的知识真正的掌握牢固。以后要多动手做才会有收获。
附录:源程序清单
CalendarPad.java
import java.util.Calendar;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.Hashtable;
public class CalendarPad extends JFrame implements MouseListener
{
int year,month,day;
Hashtable hashtable;
File file;
JTextField showDay[];
JLabel title[];
Calendar 日历;
int 星期几;
NotePad notepad=null;
Month 负责改变月;
Year 负责改变年;
String 星期[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
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;
this.month=month;
this.day=day;
负责改变年=new Year(this);
负责改变年.setYear(year);
负责改变月=new Month(this);
负责改变月.setMonth(month);
title=new JLabel[7];
showDay=new JTextField[42];
for(int j=0;j<7;j++)
{
title[j]=new JLabel();