Java记事本课程设计报告.docx
- 文档编号:26282663
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:27
- 大小:202.36KB
Java记事本课程设计报告.docx
《Java记事本课程设计报告.docx》由会员分享,可在线阅读,更多相关《Java记事本课程设计报告.docx(27页珍藏版)》请在冰豆网上搜索。
Java记事本课程设计报告
XXXXXXXX计算机学院
课程设计报告书
学生姓名:
XXXX
学院:
计算机学院
专业班级:
软件工程
专业课程:
JAVA语言程序设计
指导教师:
2014年6月13日
题目
记事本的设计与实现
考核项目
考核内容
得分
平时考核
(30分)出勤情况、态度、效率;知识掌握情况、基本操作技能、知识应用能力、获取知识能力
系统设计
(20分)分析系统的功能模块
编程调试
(20分)实现系统的各个功能模块,并完成调试
回答问题
(15分)回答老师针对课程设计提出的问题
课程设计报告撰写
(10分)严格按照规范要求完成课程设计报告
源代码
(5分)要个按照规范要求完成课程设计源代码的排版
总评成绩
指导教师评语:
日期:
年月日
第1章系统设计目的.............................1
第2章系统实现思路..............................2
第3章系统详细设计..............................3
第4章系统调试运行..............................7
第5章课程设计体会..............................8
第6章参考文献..................................9
第7章附录...............................10
第1章系统设计目的
复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;
培养学生在项目开发中团队合作精神,创新意识及能力
掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法
掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法
第2章系统实现思路
总体功能实现
图总体功能实现
图记事本
菜单操作流程图
开“文件”菜单操作流程图始
“文件”菜单
新建
退出
File=null
打开
用JFileChooser()选择所有打开文件路径
用unfold()读取所选的文件内容到记事本
保存
用sava()保存文件
用JFileChooser()选择文件另存的路径
用sava()保存文件
退出或关闭
文件是否修改
用sava()保存文件
Y
结束
N
用close()关闭文件
图“文件”菜单操作流程图
“编辑”菜单操作流程图
开始
“编辑”菜单
剪切
全选
设置修改标签,()
复制
用
()实现
粘贴
设置修改标签,
()
删除
设置修改标签,
("",start,end);
查找
替换
用FindAndReplace{}方法实现
用()实现
退出或关闭
文件是否修改
用sava()保存文件并
结束
用close()关闭文件
Y
N
图“编辑”菜单操作流程图
“帮助”菜单操作流程图
开始
“帮助”菜单
关于记事本
显示记事本的有关信息
结束
图“帮助”菜单操作流程图
第3章系统详细设计
界面设计
创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。
主要代码:
JMenuBarmenub=newJMenuBar();
JTextAreatext=newJTextArea();
JMenufiles=newJMenu("文件(F)");
JMenuedit=newJMenu("编辑(E)");
JMenuformats=newJMenu("格式(O)");
JMenuhelp=newJMenu("帮助(H)");
JMenuItemnewFile=newJMenuItem("新建(N)");
JMenuItemopen=newJMenuItem("打开(O)...");
JMenuItemsave=newJMenuItem("保存(S)");
JMenuItemexit=newJMenuItem("退出(X)");
JMenuItemcut=newJMenuItem("剪切(T)");
JMenuItemcopy=newJMenuItem("复制(C)");
JMenuItempaste=newJMenuItem("粘贴(P)");
JMenuItemselectAll=newJMenuItem("全选(A)");
JMenuItemcolor=newJMenuItem("字体颜色(C)...");
JMenuItemabout=newJMenuItem("关于记事本(A)");
窗口大小
主要代码:
Notebook(Stringname)
{
super(name);
=name;
intx,y;
Dimensionsize=().getScreenSize();
x=/2;
y=/2;
setSize(600,400);
setLocation(x,y);
setMinimumSize(newDimension(250,150));
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
定义快捷键
主要代码:
('F');
('E');
('O');
('H');
('N');
('O');
('S');
('X');
('T');
('C');
('P');
('A');
('C');
('A');
);
);
);
);
);
);
);
);
功能代码
新建:
if(source==newFile)
{
("");
(name);
openedPath=null;
opened=false;
}
退出:
elseif(source==exit)
{
(0);
}
全选:
elseif(source==selectAll)
();
剪贴:
elseif(source==cut)
();
复制:
elseif(source==copy)
();
粘贴:
elseif(source==paste)
();
关于:
elseif(source==about)
{
JFrameabout=newJFrame("记事本");
JLabellabel1=newJLabel("记事本");
JLabellabel2=newJLabel("作者:
XX");
JLabellabel3=newJLabel("电子邮箱:
XXXXXXXXXX");
}
保存:
elseif(source==save)
{
StringsavePath=openedPath;
if(savePath==null)
{
FileDialogsaveFile=newFileDialog(th,"保存文件...",;
(true);
savePath=()+();
}
try
{
FileOutputStreamfos=newFileOutputStream(savePath);
().getBytes());
();
}
catch(Exceptionex)
{
();
}
if(source==save)
openedPath=savePath;
}
打开:
if(source==open)
{
FileDialogopenFile=newFileDialog(th,"打开文件...",;
(true);
StringfilePath=()+();
try
{
FileInputStreamfis=newFileInputStream(filePath);
byte[]content=newbyte[()];
(content);
(newString(content));
(0);
if()!
=null)
{
()+name);
openedPath=filePath;
opened=true;
}
();
}
catch(Exceptionex)
{
();
}
opened=true;
}
颜色:
elseif(source==color)
{
Colorcolor=(text,"选择颜色",;
(color);
}
第4章系统调试运行
“文件”运行状况
图文件
“编辑”运行状况
图编辑
“格式”运行状况
图格式
“帮助”运行状况
图帮助
第5章课程设计体会
这次综合实验我很早就开始准备了,在代码上花费的时间也很多。
我深深地体会到编出一个程序是不容易的,编好一个程序更是不容易的。
在很多功能上,比如说在“关闭”“新建”“打开”记事本时,如果文本没保存或者又被修改,要弹出“询问保存”的对话框,我设置好这一项后,再测试,另一项又出问题了,反复测试反复修改,研究问题的所在。
其实这些或许是没必要的,但是一个程序真正的要做到“健壮性”不出现BUG,确实要下功夫的。
通过这次实验,我还明白了,我们应该学会是如何学习的方法而不仅仅是知识。
JAVA世界很大很开阔,书上的
那些知识太少了,课堂上的时间是有限的,我们应该掌握的是学习的方法,比如说学会如果查API解决问题。
读别人的程序是一个不错的方法,在别人的程序中我学到了很多知识。
可能仅仅是几句代码就会使程序得到很大的改善。
比如说我记事本构造方法开头中有一个设置“观感”的语句,这就是我在看别人的程序时看到的,加上这几句后记事本的样式就得到了很大改变,看上去和Windows的记事本差不了多少了。
编程序还是要多练习,练得多了就熟练了,对知识的掌握也更加深入了。
这次综合实验是我第一次独立地编写了一个完整的程序,虽然还有很多不足,但毕竟也是自己的心血啊,对于这个结果自己还是很满意很欣慰的,更重要的是我收获了很多,无论是专业知识还是学习方法,我相信对我以后的生活和学习都会产生积极影响的!
第6章参考文献
1:
孙涛,Java语言课程设计实践教程.北京:
清华大学出版社,2012.
2:
张思民.Java语言程序设计.北京:
清华大学出版社,2007.
附录:
源代码
import.*;
import.*;
import.*;
importclassNotebookextendsJFrame
{
JMenuBarmenub=newJMenuBar();
JTextAreatext=newJTextArea();
JMenufiles=newJMenu("文件(F)");
JMenuedit=newJMenu("编辑(E)");
JMenuformats=newJMenu("格式(O)");
JMenuhelp=newJMenu("帮助(H)");
JMenuItemnewFile=newJMenuItem("新建(N)");
JMenuItemopen=newJMenuItem("打开(O)...");
JMenuItemsave=newJMenuItem("保存(S)");
JMenuItemexit=newJMenuItem("退出(X)");
JMenuItemcut=newJMenuItem("剪切(T)");
JMenuItemcopy=newJMenuItem("复制(C)");
JMenuItempaste=newJMenuItem("粘贴(P)");
JMenuItemselectAll=newJMenuItem("全选(A)");
JMenuItemcolor=newJMenuItem("字体颜色(C)...");
JMenuItemabout=newJMenuItem("关于记事本(A)");
JPopupMenupopupMenu=newJPopupMenu();
JMenuItemMenuMouseCut=newJMenuItem("剪切(T)");
JMenuItemMenuMouseCopy=newJMenuItem("复制(C)");
JMenuItemMenuMousePaste=newJMenuItem("粘贴(P)");
JMenuItemMenuMouseselectAll=newJMenuItem("全选(A)");
JFrameth=this;
Stringname;
StringopenedPath=null;
booleanopened=false;
booleanreworked=false;
Notebook(Stringname)
{
super(name);
=name;
intx,y;
Dimensionsize=().getScreenSize();
x=/2;
y=/2;
setSize(600,400);
setLocation(x,y);
setMinimumSize(newDimension(250,150));
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
voidinit()
{
('F');
('E');
('O');
('H');
('N');
('O');
('S');
('X');
('T');
('C');
('P');
('A');
('C');
('A');
);
);
);
);
);
);
);
);
(newFile);
(open);
(save);
();
(exit);
();
(cut);
(copy);
(paste);
();
(selectAll);
(color);
(about);
(files);
(edit);
(formats);
(help);
setJMenuBar(menub);
getContentPane().add(newJScrollPane(text));
(MenuMouseCut);
(MenuMouseCopy);
(MenuMousePaste);
(MenuMousePaste);
(MenuMouseselectAll);
Listenlisten=newListen();
Listen1listen1=newListen1();
(listen);
(listen);
(listen);
(listen);
(listen);
(listen);
(listen);
(listen);
(listen);
(listen);
(listen1);
(listen1);
(newMouseAdapter()
{
publicvoidmousePressed(MouseEvente){checkForTriggerEvent(e);}
publicvoidmouseReleased(MouseEvente){checkForTriggerEvent(e);}
privatevoidcheckForTriggerEvent(MouseEvente)
{
if())
{
(),(),());
}
}
});
(newActionListener()
{publicvoidactionPerformed(ActionEvente){();}}
);
(newActionListener()
{publicvoidactionPerformed(ActionEvente){();}}
);
(newActionListener()
{publicvoidactionPerformed(ActionEvente){();}}
);
(newActionListener()
{publicvoidactionPerformed(ActionEvente){();}}
);
}
classListenimplementsActionListener
{
publicvoidactionPerformed(ActionEvente)
{
Objectsource=();
if(source==newFile)
{
("");
(name);
openedPath=null;
opened=false;
}
elseif(source==exit)
{
(0);
}
elseif(source==selectAll)
();
elseif(source==cut)
();
elseif(source==copy)
();
elseif(source==paste)
();
elseif(source==about)
{
JFrameabout=newJFrame("记事本");
JLabellabel1=newJLabel("记事本");
JLabellabel2=newJLabel("作者:
王合");
JLabellabel3=newJLabel("电子邮箱:
");
GridBagLayoutlayout=newGridBagLayout();
(layout);
GridBagConstraintsn1=newGridBagConstraints();
=0;
=0;
=10;
=10;
=;
GridBagConstraintsn2=newGridBagConstraints();
=0;
=15;
=10;
=10;
=;
GridBagConstraintsn3=newGridBagConstraints();
=0;
=25;
=10;
=10;
=;
(label1,n1);
(label2,n2);
(label3,n3);
(label1);
(label2);
(label3);
(200,100);
(300,200);
(true);
(false);
}
elseif(source==color)
{
Colorcolor=(text,"选择颜色",;
(color);
}
}
}
classListen1implementsActionListener
{
publicvoidactionPerformed(ActionEvente)
{
Objectsource=();
if(source==open)
{
FileDialogopenFile=newFileDialog(th,"打开文件...",;
(true);
StringfilePath=()+();
try
{
FileInputStreamfis=newFileInputStream(filePath);
byte[]content=newbyte[()];
(content);
(newString(content));
(0);
if()!
=null)
{
()+name);
openedPath=filePath;
opened=true;
}
();
}
catch(Exceptionex)
{
();
}
opened=true;
}
elseif(source==save)
{
StringsavePath=openedPath;
if(savePath==null)
{
FileDialogsaveFile=newFileDialog(th,"保存文件...",;
(true);
savePath=()+();
}
try
{
FileOutputStreamfos=newFileOutputStream(savePath);
().getBytes());
();
}
catch(Exceptionex)
{
();
}
if(source=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 记事本 课程设计 报告