JAVA课程设计报告.docx

上传人:b****3 文档编号:12659529 上传时间:2023-04-21 格式:DOCX 页数:22 大小:100.94KB
下载 相关 举报
JAVA课程设计报告.docx_第1页
第1页 / 共22页
JAVA课程设计报告.docx_第2页
第2页 / 共22页
JAVA课程设计报告.docx_第3页
第3页 / 共22页
JAVA课程设计报告.docx_第4页
第4页 / 共22页
JAVA课程设计报告.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

JAVA课程设计报告.docx

《JAVA课程设计报告.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计报告.docx(22页珍藏版)》请在冰豆网上搜索。

JAVA课程设计报告.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1