JAVA课程设计报告.docx
《JAVA课程设计报告.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计报告.docx(22页珍藏版)》请在冰豆网上搜索。
![JAVA课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-4/21/783b1302-4a40-4295-b094-260bf5df83d1/783b1302-4a40-4295-b094-260bf5df83d11.gif)
JAVA课程设计报告
班级:
姓名:
学号:
指导教师:
实训时间:
实训地点:
目录
一、课程设计目的和要求3
1、设计目的3
2、设计要求3
二、课程设计选题3
三、设计时间、设计安排和考核要求4
1、时间安排4
2、设计安排4
3、考核要求4
四、设计内容5
1、题目:
记事本5
2、需求分析5
3、流程图5
4、程序部分源代码8
五、程序界面截图16
六、设计部分日志16
七、总结17
八、教师评语:
17
一、课程设计目的和要求
1、设计目的
<1>、复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;
<2>、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;
<3>、培养学生在项目开发中团队合作精神、创新意识及能力。
2、设计要求
<1>、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;
<2>、系统设计要实用,编程简练,可用,功能全面;
<3>、说明书、流程图要清楚;
<4>、记录设计情况(备查,也为编写设计说明书作好准备);
<5>、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式;
<6>、设计上交内容:
设计报告一份(按格式书写);源程序文件。
二、课程设计选题
老师提供的题目有:
学生信息管理系统、日历记事本、三子棋游戏(Japplet)、库存管理系统、用户管理系统、多人聊天室(GUI)、拿火柴游戏、超市收银系统、ATM柜员机模拟程序、图书信息管理系统、一个简单的算法动态演示程序、商场商品信息管理系统、小区物业管理系统、车辆档案管理系统、自选题目。
我选取的是自选题目,我所选设计题目是记事本。
三、设计时间、设计安排和考核要求
1、时间安排
序号
时间
内容
1
9月16日
班级分组,选定课题,查阅相关资料
2
9月17日
划分模块、小组成员分工,编制源程序
3
9月18日~9月19日
编制源程序
3
9月20日
上机调试,修改、完善系统
4
9月21日
上机调试,修改、完善系统
5
9月22日
撰写课程设计报告,上机调试,修改、完善系统
6
9月23日
撰写课程设计报告
7
9月24日
实习成绩的评定
2、设计安排
分组选题:
最多2人为一组,每组一个课题(可根据课题工作量大小,合理分配人数),每组设组长一名,负责该组设计工作的协调、分工等。
设计过程:
分析设计准备阶段(按组讨论、对系统功能进行分析,并进行明确分工);
编程调试阶段(绘制流程图,编制源程序;上机调试,修改程序)
3、考核要求:
在设计期间,学生要按时上机,设计结束根据记录的设计材料整理成设计说明书。
设计说明书中应写下设计中的主要收获,要求对问题有一定的分析,文字简短明确流畅。
结合学生的动手能力,独立分析解决问题的能力和创新精神,设计成绩由指导教师根据考勤、设计说明书质量分优、良、中、及格和不及格五等。
四、设计内容
1、题目:
记事本
2、需求分析:
本程序要构建的记事本参照了Windows操作系统的记事本工具,其功能有以下几个方面:
(1)、菜单中有【文件】、【编辑】、【格式】、【查看】、【帮助】五个主菜单。
(2)、文件菜单中有新建、打开、保存、另存为、退出菜单项。
它们分别用来新建文件,打开文件,保存文件,把文件另存,和退出记事本。
(3)、编辑菜单中有剪切、粘贴、复制、全选、删除、查找、日期菜单项。
它们分别用来剪切文字,粘贴文字,复制文字,全选文字,删除文字,查找文字,在记事本里插入日记。
(4)、格式菜单中有自动换行、颜色(包括文字颜色和文本区域颜色)、字体菜单项。
它们分别用来实现文本换行,改变文字的颜色,改变文本区域的颜色,设置文字的大小类型。
(5)、查看菜单中有状态栏菜单项,它用实现状态栏是否显示。
(6)、帮助菜单有帮助主题、关于记事本菜单项。
它们分别用于怎样使用该记事本,关于该记事本的一些信息。
3、流程图
【帮助】菜单流程图:
【文件】菜单:
【编辑】菜单流程图:
【格式】菜单流程图:
【右键】菜单流程图
4、程序部分源代码
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.io.*;
importjava.util.*;
importjava.util.regex.*;
publicclassTextEditorextendsJFrameimplementsActionListener,MouseListener{
//文件菜单项声明
JMenuItemfileNew,fileOpen,fileSave,fileSaveAs,fileQuit;
/*编辑菜单项声明*/
JMenuItemeditUndo,editRedo,editCut,editPaste,editCopy,editDelete,editFind,editReplace,editSelectAll,editDate;
/*格式菜单项声明*/
JMenuItemformatWordWrap,formatColorFont,formatColorArea,formatFont;
/*查看菜单项声明*/
JMenuItemscanStatus;
/*帮助项声明*/
JMenuItemhelpAbout,helpMainTitle;
/*文本区域声明*/
JTextAreatext;
/*状态栏标签声明*/
JLabelstatusFile,statusRow,statusRank,statusSize,statusDate;
booleanflag=true;//自动换行标识
booleanreadFlag=true;//阅读顺序标识
intnumber=0;//行数
JPopupMenupopupMenu;//右键弹出菜单声明
//右键弹出式菜单的菜单项声明
JMenuItempopupUndo,popupCut,popupCopy,popupPaste,popupDelete,popupSelectAll,
popupReadDirection;
//工具栏项声明
JButtontoolOpen,toolSave,toolCopy,toolPaste,toolCut,toolNew,toolSelectAll,
toolDelete,toolUndo,toolRedo,toolHelp;
/***************************************************
窗体布局
***************************************************/
//窗体初始化
publicTextEditor()
{
super("JAVA凡人记事本");
ToolBar();
Menus();
Listener();
JTextArea();
StatusBar();
ShortKeys();
getCalendar();
popupMenu();
}
/**************************************************
菜单初始化
**************************************************/
publicvoidMenus()
{
/*创建菜单栏*/
JMenuBarmenubar=newJMenuBar();
/*添加菜单栏*/
this.setJMenuBar(menubar);
/*初始化【文件】菜单*/
JMenufile=newJMenu("文件(F)",true);
fileNew=newJMenuItem("新建(N)",'N');
fileOpen=newJMenuItem("打开(O)",'O');
fileSave=newJMenuItem("保存(S)",'S');
fileSaveAs=newJMenuItem("另存为(A)");
fileQuit=newJMenuItem("退出(X)",'X');
/*初始化【编辑】菜单*/
JMenuedit=newJMenu("编辑(E)",true);
editUndo=newJMenuItem("撤销(U)",'Z');
editRedo=newJMenuItem("恢复(Y)",'Y');
editCut=newJMenuItem("剪切(T)",'X');
editCopy=newJMenuItem("复制(C)",'C');
editPaste=newJMenuItem("粘贴(P)",'V');
editDelete=newJMenuItem("删除(L)");
editFind=newJMenuItem("查找(F)",'F');
editReplace=newJMenuItem("替换(R)",'R');
editSelectAll=newJMenuItem("全选(A)",'A');
editDate=newJMenuItem("时间/日期(T)");
/*初始化【格式】菜单*/
JMenuformat=newJMenu("格式(O)",true);
JMenucolor=newJMenu("颜色");
formatWordWrap=newJMenuItem("自动换行(W)",'W');
formatColorFont=newJMenuItem("字体颜色");
formatColorArea=newJMenuItem("文件区域颜色");
formatFont=newJMenuItem("字体");
/*初始化【查看】菜单*/
JMenuscan=newJMenu("查看(V)");
scanStatus=newJMenuItem("状态栏(S)");
/*初始化【帮助】菜单*/
JMenuhelp=newJMenu("帮助(H)",true);
helpMainTitle=newJMenuItem("帮助主题(H)");
helpAbout=newJMenuItem("关于记事本(A)");
/**************************************************
添加菜单到窗体
**************************************************/
menubar.add(file);
menubar.add(edit);
menubar.add(format);
menubar.add(scan);
menubar.add(help);
/*添加文件菜单项*/
file.add(fileNew);
file.add(fileOpen);
file.addSeparator();
file.add(fileSave);
file.add(fileSaveAs);
file.addSeparator();
file.add(fileQuit);
/*添加编辑菜单项*/
edit.add(editUndo);
edit.add(editRedo);
edit.addSeparator();
edit.add(editCut);
edit.add(editPaste);
edit.add(editCopy);
edit.addSeparator();
edit.add(editDelete);
edit.add(editFind);
edit.addSeparator();
edit.add(editSelectAll);
edit.add(editDate);
/*添加格式菜单项*/
format.add(formatWordWrap);
format.add(color);
color.add(formatColorFont);
color.add(formatColorArea);
format.addSeparator();
format.add(formatFont);
/*添加查看菜单项*/
scan.add(scanStatus);
/*添加帮助菜单项*/
help.add(helpMainTitle);
help.addSeparator();
help.add(helpAbout);
}
/**********************************************
工具栏初始化
********************************************/
publicvoidToolBar()
{
JToolBartoolbar=newJToolBar("工具栏");//创建工具栏
/****************************************
初始化工具栏按钮
**************************************/
toolNew=newJButton(newImageIcon("images/new.jpg"));
toolNew.setToolTipText("新建空白文本");//设置当不鼠标放到上面是的文本
toolOpen=newJButton(newImageIcon("images/open.jpg"));
toolOpen.setToolTipText("打开");
toolSave=newJButton(newImageIcon("images/save.jpg"));
toolSave.setToolTipText("保存");
toolCopy=newJButton(newImageIcon("images/copy.jpg"));
toolCopy.setToolTipText("复制");
toolPaste=newJButton(newImageIcon("images/paste.jpg"));
toolPaste.setToolTipText("粘贴");
toolCut=newJButton(newImageIcon("images/cut.jpg"));
toolCut.setToolTipText("剪切");
toolSelectAll=newJButton(newImageIcon("images/selectAll.jpg"));
toolSelectAll.setToolTipText("全选");
toolUndo=newJButton(newImageIcon("images/undo.jpg"));
toolUndo.setToolTipText("撤销");
toolRedo=newJButton(newImageIcon("images/redo.jpg"));
toolRedo.setToolTipText("恢复");
toolDelete=newJButton(newImageIcon("images/delete.jpg"));
toolDelete.setToolTipText("删除");
toolHelp=newJButton(newImageIcon("images/help.jpg"));
toolHelp.setToolTipText("帮助");
/****************************************
添加按钮到工具栏
*************************************/
toolbar.add(toolNew);
toolbar.add(toolOpen);
toolbar.add(toolSave);
toolbar.add(toolCopy);
toolbar.add(toolPaste);
toolbar.add(toolCut);
toolbar.add(toolSelectAll);
toolbar.add(toolUndo);
toolbar.add(toolRedo);
toolbar.add(toolDelete);
toolbar.add(toolHelp);
this.add(toolbar,BorderLayout.NORTH);//把工具栏放到窗体
/*************************************
创建监听对象
****************************************/
toolNew.addActionListener(this);
toolOpen.addActionListener(this);
toolSave.addActionListener(this);
toolCopy.addActionListener(this);
toolPaste.addActionListener(this);
toolCut.addActionListener(this);
toolSelectAll.addActionListener(this);
toolUndo.addActionListener(this);
toolRedo.addActionListener(this);
toolDelete.addActionListener(this);
toolHelp.addActionListener(this);
}
/********************************************
注册监听对象
*******************************************/
publicvoidListener()
{
fileNew.addActionListener(this);
fileOpen.addActionListener(this);
fileSave.addActionListener(this);
fileSaveAs.addActionListener(this);
fileQuit.addActionListener(this);
editUndo.addActionListener(this);
editRedo.addActionListener(this);
editCut.addActionListener(this);
editPaste.addActionListener(this);
editCopy.addActionListener(this);
editDelete.addActionListener(this);
editFind.addActionListener(this);
editReplace.addActionListener(this);
editSelectAll.addActionListener(this);
editDate.addActionListener(this);
formatWordWrap.addActionListener(this);
formatColorArea.addActionListener(this);
formatColorFont.addActionListener(this);
formatFont.addActionListener(this);
scanStatus.addActionListener(this);
helpAbout.addActionListener(this);
helpMainTitle.addActionListener(this);
//弹出式菜单项
//popupUndo.addActionListener(this);
}
/**************************************************
添加文本区
**************************************************/
publicvoidJTextArea()
{
JScrollPanescroll=newJScrollPane();//创建放置文本区域的滚动条
text=newJTextArea("\n\nJava记事本\n\n"+
"版本:
1.0\n\n"+
"制作人:
王元炎");
scroll.getViewport().setView(text);
this.add(scroll,BorderLayout.CENTER);
}
/**************************************************
添加状态栏
**************************************************/
publicvoidStatusBar()
{
/*创建管理标签的面板*/
JPanelsouthPane=newJPanel();
/*初始化标签*/
statusFile=newJLabel("文件状态:
");
statusRow=newJLabel("行:
"+number);
statusRank=newJLabel("列:
");
statusSize=newJLabel("大小:
");
statusDate=newJLabel("日期:
");
/*添加标签*/
southPane.add(statusFile);
southPane.add(statusRow);
southPane.add(statusRank);
southPane.add(statusSize);
southPane.add(statusDate);
//设置面板布局管理方式
southPane.setLayout(newFlowL