日历记事本系统课程设计docx.docx
- 文档编号:1069736
- 上传时间:2022-10-16
- 格式:DOCX
- 页数:22
- 大小:64.43KB
日历记事本系统课程设计docx.docx
《日历记事本系统课程设计docx.docx》由会员分享,可在线阅读,更多相关《日历记事本系统课程设计docx.docx(22页珍藏版)》请在冰豆网上搜索。
日历记事本系统课程设计docx
«JAVA程序设计》
课程设计报告
系另1」:
计算机与电子系
专业班级:
计算机科学与技术0801班
学生姓名:
杨扬
指导教师:
吴奕
(课程设计时间:
2011年6月13日——2011年6月24日)
华中科技大学武昌分校
1•课程设计目的页码
2•课程设计题目描述和要求页码
3•课程设计报告内容页码
3.1总体设计页码
3.2详细设计页码
3.3编码实现页码
3.4系统测试页码
3.5系统运行页码
4.总结页码
参考文献页码
1•课程设计目的
1.学习Java程序开发的环境搭建与配置,并且在实际运用中学习和和掌握Java程序开发的过程
2.通过课程设计进一步掌握Java程序设计语言的基础内容,如用户图形界面设计等
3.通过亲自设计,编写,调试程序来扩展知识面和动手操作能力
2•课程设计题目描述和要求
设计一个日历记事本.具体要求如下:
1.可以设置日历的日期
2.可以判断当前日期是否有日志记录
3.对有日志记录的日期,可以对该日期的日志记录进行修改和删除
4.对没有日志记录的日期,可以创建并保存新建的日志记录
3•课程设计报告内容
3.1总体设计
1>功能图
2>流程图
3>类图
3.2详细设计
表1日历记事本系统主面板与日历板模块(CalendarPad.java)
类名
CalendarPad
public
接口
MouseListener
public
方法
CalendarPad(int,int,int)设置日历牌(int,int)排列号码(int,int)main()
public
publicvoid
publicvoid
publicstaticvoid
表2日历记事本系统年设置模块(Year.java)
类名
Year
public
接口
ActionListener
public
方法
setYear()
getYear()
actionPeformed(ActionEvente)
publicvoid
publicint
publicvoid
表3日历记事本系统月设置模块(Month.java)
类名
Month
public
接口
ActionListener
public
方法
setMonth()
getMonth()
actionPeformed(ActionEvente)
publicvoid
publicint
publicvoid
表4日历记事本系统记事本模块(NotePad.java)
类名
NotePad
public
接口
ActionListener
public
设置信息条()
publicvoid
设置文本区()
publicvoid
方法
获取日志内容()
publicvoid
保存日志()
publicvoid
删除日志()
publicvoid
3.3编码实现
1.日历记事本系统主面板与日历板模块(CalendarPad.java)
该模块设计主要主要包含以下成员变量:
年(year)
月(month)
日(day)
存放日期的表(Hashtable)
存放日志的文件(File)
主要方法有:
创建程序主面板的构造方法(CalendarPad
处理ActionEvent事件的接口方法(actionPeformed)
程序开始运行的main()方法。
在具体设计过程中,首先,基本功能和组件的创建;然后,创建构造方法,这一部分包括:
为各个功能创建监听事件,创建程序主面板以及日历面板.添加
关闭窗口方法;第三步分为创建监听方法,实现对各个功能模块的操作,以及鼠标点击实现进入相应的功能面板;最后创建相应的main()方法。
实现编码如下:
importjava.util.Calendar;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.io.*;
importjava.util.Hashtable;
publicclassCalendarPadextendsJFrameimplementsMouseListener{
intyear,month,day;
Hashtablehashtable;
Filefile;
JTextFieldshowDay[];
JLabeltitle[];Calendar日历;int星期几;
NotePadnotepad=null;
Month负责改变月;
Year负责改变年;
String星期[]={"SUN","MON","TUE","WED","THU","FRI","SAT"};JPanelleftPanel,rightPanel;
publicCalendarPad(intyear,intmonth,intday)
{leftPanel=newJPanel();JPanelleftCenter=newJPanel();JPanelleftNorth=newJPanel();leftCenter.setLayout(newGridLayout(7,7));rightPanel=newJPanel();this.year=year;
this.month=month;this.day=day;
负责改变年=newYear(this);负责改变年.setYear(year);负责改变月=newMonth(this);负责改变月.setMonth(month);
title=newJLabel[7];showDay=newJTextField[42];
for(intj=0;j<7;j++)
title[j]=newJLabel();
title[j].setText(星期[j]);
title[j].setBorder(BorderFactory.createRaisedBevelBorder());
leftCenter.add(title[j]);
}
title[0].setForeground(Color.red);title[6].setForeground(Color.blue);
for(inti=0;i<42;i++)
{
showDay[i]=newJTextField();showDay[i].addMouseListener(this);showDay[i].setEditable(false);leftCenter.add(showDay[i]);
}
日历=Calendar.getlnstance();
Boxbox=Box.createHorizontalBox();
box.add(负责改变年);
box.add(负责改变月);
leftNorth.add(box);
leftPanel.setLayout(newBorderLayout());leftPanel.add(leftNorth,BorderLayout.NORTH);leftPanel.add(leftCenter,BorderLayout.CENTER);
leftPanel.add(newLabel(请在年份输入框输入所查年份(负数表示公元前),并回车确定"),BorderLayout.SOUTH);
leftPanel.validate();
Containercon=getContentPane();
JSplitPanesplit=newJSplitPane(JSplitPane.HORlZONTAL_SPLlT,leftPanel,rightPanel);
con.add(split,BorderLayout.CENTER);
con.validate();
hashtable=newHashtable();
file=newFile("日历记事本.txt");
if(!
file.exists())
{
try
{
FileOutputStreamout=newFileOutputStream(file);
ObjectOutputStreamobjectOut=new
ObjectOutputStream(out);
objectOut.writeObject(hashtable);
objectOut.close();
out.close();
}
catch(IOExceptione)
{}
}
notepad=newNotePad(this);rightPanel.add(notepad);设置日历牌(year,month);
addWindowListener(newWindowAdapter()
{
publicvoidwindowClosing(WindowEvente)
{
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,524,285);
validate();
}
publicvoid设置日历牌(intyear,intmonth)
{
日历.set(year,month-1,1);
星期几二日历.get(Calendar.DAY_OF_WEEK)-1;
if(month==1||month==2||month==3||month==5||month==7||month==8||month
==10||month==12)
{排列号码(星期几,31);
}
elseif(month==4||month==6||month==9||month==11)
{
排列号码(星期几,30);
}
elseif(month==2)
{if((year%4==0&&year%100!
=0)||(year%400==0)){
排列号码(星期几,29);
}
else
{
排列号码(星期几,28);
}
}
}
publicvoid排列号码(int星期几,int月天数)
{
for(inti=星期几,n=1;i<星期几+月天数;i++)
{
showDay[i].setText(""+n);
if(n==day)
{showDay[i].setForeground(Color.green);showDay[i].setFont(new
Font("TimesRoman",Font.BOLD,20));
}
else
{
showDay[i].setFont(new
Font("TimesRoman",Font.BOLD,12));
showDay[i].setForeground(Color.black);
}if(i%7==6)
{showDay[i].setForeground(Color.blue);
}if(i%7==0)
{showDay[i].setForeground(Color.red);
}
n++;
}
for(inti=0;i<星
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 日历 记事本 系统 课程设计 docx
![提示](https://static.bdocx.com/images/bang_tan.gif)