JAVA课程设计报告记事本含代码.docx
- 文档编号:6873756
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:30
- 大小:236.49KB
JAVA课程设计报告记事本含代码.docx
《JAVA课程设计报告记事本含代码.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计报告记事本含代码.docx(30页珍藏版)》请在冰豆网上搜索。
JAVA课程设计报告记事本含代码
第1章引言
1.1背景
在文本编辑器出现前,人们用打孔机把计算机文字打到穿孔卡片上。
文字存放于一个装着这样的薄卡片的盒子里,可以用读卡器来阅读它。
第一个文本编辑器是一种行编辑器,它运行在打字机型的终端上,这种编辑器并不具备在窗口和屏幕中显示的功能。
它包含了一些非常短的命令(为了减少打字量)。
其中一个命令能够把文件的指定部分通过打字机打印出来。
编辑光标是想象中的一个插入点,通过特殊命令,可以把它移动到特定内容字符串所在的行。
随后,内容字符串又被扩展成正则表达式。
如果想看到文件的变化,你需要把它打印出来。
相对于穿孔机来说,人们认为这种基于行的文本编辑器具有革命性的进步。
如果没有它,用户就需要把那些处理文本的命令打成专用的卡片,并在编辑文件时使用这些卡片。
当带有显示屏的计算机终端出现后,基于显示屏的文本编辑器开始流行起来。
最早的全屏编辑器中,有一种叫做O26,它是于1967年为CDC6000系列机器的操作控制台而作的。
另外一个早期的全屏编辑器是vi。
vi诞生于20世纪70年代,至今,它仍是Unix和Linux的标准编辑器。
全屏编辑器对视频终端的销售起到了促进的作用。
1.2课程设计内容
记事本充分发挥文本编辑的优势,通过各种操作的有机结合,实现文本编辑的各项所需功能。
本程序的研究内容涉及记事本功能实现的全过程。
该记事本功能包含以下内容:
(1)打开文件,读取文件中的文本信息:
对原有文件可实行打开操作,并能读取文件中的内容,以方便对文件的查看,修改等任务。
(2)显示、编辑修改文本信息:
记事本对文字信息的主要处理功能。
可对相关信息进行复制,剪切,粘贴等操作。
(3)实现新建、保存文本文件:
新建文本可以使用户写入新的信息,文件保存后再次打开仍可获得原有信息。
第2章记事本系统
2.1记事本概述
记事本是一种只能处理纯文本的文件。
由于多种格式源代码都是纯文本的,所以记事本也就成为了使用最多的源代码编辑器。
它只具备最基本的编辑功能,所以体积小巧,启动快,占用内存低,容易使用。
“记事本”的功能虽然连“写字板”都比不上,但它还是有它自己的独门绝技的。
下面我们就来看看记事本吧。
相对于微软的Word来说“记事本”的功能确实是太单薄了,只有:
新建,保存,打印,查找,替换这几个功能。
但是“记事本”却拥有一个Word不可能拥有的优点:
打开速度快,文件小。
我相信对于这一点大家一定是深有感触地,一点就打开;同样的文本文件用Word保存和用记事本保存的文件大小就大不相同,所以对于大小在64KB以下的纯文本的保存最好还是采用记事本。
记事本另一项不可取代的功能是:
可以保存无格式文件。
你可以把记事本编辑的文件保存为:
“.html”,“.java”,“.asp”等等任意格式。
这使得“记事本”又找到了一个新的用途:
作为程序语言的编辑器。
翻开任何一本介绍一门编程语言的入门教材,里面都会建议学生在记事本中编写源程序。
记事本使用的一个老窍门,在记事本文件的开头输入:
“.LOG”之后你每次打开这个文件就会在自动的纪录下文本打开的时间。
2.2记事本的任务及目的
打开计算本窗口,在编辑区进行文本的输入,可以使用剪切、拷贝、粘贴等功能键,当文本输入完毕后点击“文件”菜单,选择下拉菜单中的“保存文本”打开“保存”窗口,选择保存文件的根目录进行保存。
当需要关闭窗口时可通过“文件”菜单下的“退出系统”选项,或者选择“工具栏”中的“退出系统”按钮,也可以直接点击窗口右上角的关闭图标进行关闭。
2.3本章小结
记事本是一种只能处理纯文本的文件。
可以通过菜单栏和工具栏实现以下功能:
如文件的新建,打开,保存和退出;对文件的编辑,如复制,剪切,粘贴;以及帮助菜单;执行完操作后,能够顺利关闭记事本。
第3章记事本的设计
这一章时进销存管理系统的设计,从系统需求分析开始,介绍开发环境和用到的开发工具,系统主要的功能设计,系统的数据流程图。
3.1系统需求分析
记事本的设计目标为:
打开计算本窗口,在编辑区进行文本的输入,可以使用剪切、拷贝、粘贴等功能键,当文本输入完毕后点击“文件”菜单,选择下拉菜单中的“保存文本”打开“保存”窗口,选择保存文件的根目录进行保存。
当需要关闭窗口时可通过“文件”菜单下的“退出系统”选项,或者选择“工具栏”中的“退出系统”按钮,也可以直接点击窗口右上角的关闭图标进行关闭。
3.2记事本总体结构(流程图)
图3.1系统功能结构图
3.3记事本系统各模块介绍
系统各功能模块实现的功能为:
新建记事本:
在文件的下拉菜单中点击新建文本或单击工具栏中的新建文本,将文本刷新。
打开原有的记事本:
在文件的下拉菜单中点击打开文本或单击工具栏中的打开文本,再选中原有的记事本,单击打开按钮,便将原有文本打开。
拷贝:
先选中需复制的文本,在编辑的下拉菜单中点击拷贝或单击工具栏中的拷贝,便将所选文本复制了。
粘贴:
在编辑的下拉菜单中点击粘贴或单击工具栏中的粘贴,便将所复制的文本粘贴到需粘贴的地方。
剪贴:
先选中需剪贴的文本,在编辑的下拉菜单中点击剪贴或单击工具栏中的剪贴,便将所选文本剪贴了。
保存:
在文件的下拉菜单中点击保存文本或单击工具栏中的保存文本,便将改变的文本保存好。
退出系统:
在文件的下拉菜单中点击退出系统或单击工具栏中的退出系统,或直接点击状态栏中的
,从而关闭文本。
3.4本章小结
本章介绍了该记事本的运行环境,以及各功能的体现。
第4章系统的具体实现
界面是系统之间最直接的交互界面,界面的友好性体现了软件设计的质量,并在很大程度上决定了软件是否成功。
4.1窗口设计
在主接口中设计一个EditorDemo容器继承自JFrame,并在其中加入菜单栏、工具栏和一个文本域控件。
publicclassEditorDemoextendsJFrame
JTextPanetextPane=newJTextPane();//创建文本窗格,编辑窗口
JFileChooserfilechooser=newJFileChooser();//文件选择器
setJMenuBar(createJMenuBar(actions));//设置菜单栏
Containercontainer=getContentPane();//得到容器
container.add(createJToolBar(actions),BorderLayout.NORTH);//工具栏
container.add(textPane,BorderLayout.CENTER);//增加文本窗格
窗口设计流程图:
图4.1窗口模块框图
4.2程序功能设计及调试运行
利用JSP“一次编写,各处运行”的编程优点,按功能模块结构设计菜单,布置各明细模块工作界面,编写各个模块的程序代码,进行编译连接运行,经过反复调试修改,以达到系统功能要求。
这个过程具有大量的工作量,应仔细对每个程序细节进行分析思考、编写程序并调试,做到程序简洁清楚,尽量避免可能潜在的程序错误,并在必要的地方加以注释,以便于程序阅读和修改。
4.2.1在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。
点击不同菜单项时,显示不同接口。
部分代码:
privateJMenuBarcreateJMenuBar(Action[]actions)//创建菜单栏
JMenuBarmenubar=newJMenuBar();//实例化菜单栏
JMenumenuFile=newJMenu("文件(F)");//实例化菜单
JMenumenuEdit=newJMenu("编辑(E)");
JMenumenuFormat=newJMenu("格式(O)");
JMenumenuFind=newJMenu("查找(V)");
JMenumenuAbout=newJMenu("帮助(H)");
menuFile.add(newJMenuItem(actions[0]));//增加新菜单项
menuFile.add(newJMenuItem(actions[1]));
menuFile.add(newJMenuItem(actions[2]));
menuFile.addSeparator();
menuFile.add(newJMenuItem(actions[7]));
menuEdit.add(newJMenuItem(actions[3]));
menuEdit.add(newJMenuItem(actions[4]));
menuEdit.add(newJMenuItem(actions[5]));
menuAbout.add(newJMenuItem(actions[6]));
menubar.add(menuFile);//增加菜单
menubar.add(menuEdit);
menubar.add(menuFormat);
menubar.add(menuFind);
menubar.add(menuAbout);
returnmenubar;//返回菜单栏
实现对文件的操作功能流程图:
图4.2实现操作功能框图
如下图:
图4.2.1文件菜单功能生成界面
图4.2.2编辑菜单功能生成界面
图4.2.3帮助菜单功能生成界面
4.2.2加入工具栏的功能键,通过工具栏实现对文本的基本操作。
关键代码:
Action[]actions=//Action数组,各种操作命令
newNewAction(),
newOpenAction(),
newSaveAction(),
newCutAction(),
newCopyAction(),
newPasteAction(),
newAboutAction(),
newExitAction(),
privateJToolBarcreateJToolBar(Action[]actions)//创建工具条
JToolBartoolBar=newJToolBar();//实例化工具条
JButtonbt=newJButton(actions[i]);//实例化新的按钮
toolBar.add(bt);//增加按钮到工具栏
如图所示:
4.2.3对每个菜单项进行注册监听。
点击不同功能键时,实现不同的操作,显示不同的窗口。
主要实现方法代码如下:
classNewActionextendsAbstractAction{//实现新建文件命令功能
publicNewAction(){
super("新建文本");
}
publicvoidactionPerformed(ActionEvente){
textPane.setDocument(newDefaultStyledDocument());//清空文档
}
}
classOpenActionextendsAbstractAction{//实现打开文件命令功能
publicOpenAction(){
super("打开文本");
}
publicvoidactionPerformed(ActionEvente){
inti=filechooser.showOpenDialog(EditorDemo.this);
//显示打开文件对话框
if(i==JFileChooser.APPROVE_OPTION){//点击对话框中打开选项
Filef=filechooser.getSelectedFile();//得到选择的文件
try{
InputStreamis=newFileInputStream(f);//得到文件输入流
textPane.read(is,"d");//读入文件到文本窗格
}catch(Exceptionex){
ex.printStackTrace();//输出出错信息
}
}
}
}
如下图:
图4.2.4打开文件生成界面
classSaveActionextendsAbstractAction{//实现保存文本命令
publicSaveAction(){
super("保存文本");}
publicvoidactionPerformed(ActionEvente){
inti=filechooser.showSaveDialog(EditorDemo.this);
//显示保存文件对话框
if(i==JFileChooser.APPROVE_OPTION){//点击对话框中保存按钮
Filef=filechooser.getSelectedFile();//得到选择的文件
try{
FileOutputStreamout=newFileOutputStream(f);
//得到文件输出流
out.write(textPane.getText().getBytes());//写出文件
}catch(Exceptionex){
ex.printStackTrace();//输出出错信息}}}}
如下图:
图4.3.1保存文件生成界面
classExitActionextendsAbstractAction{//实现退出命令
publicExitAction(){
super("退出系统");}
publicvoidactionPerformed(ActionEvente){
System.exit(0);//退出程序}}
classCutActionextendsAbstractAction{//实现剪切命令
publicCutAction(){
super("剪切");}
publicvoidactionPerformed(ActionEvente){
textPane.cut();//调用文本窗格的剪切命令}}
classCopyActionextendsAbstractAction{//实现拷贝命令
publicCopyAction(){
super("拷贝");}
publicvoidactionPerformed(ActionEvente)
{textPane.copy();//调用文本窗格的拷贝命令
classPasteActionextendsAbstractAction{//实现粘贴命令
publicPasteAction(){
super("粘贴");}
publicvoidactionPerformed(ActionEvente){
textPane.paste();//调用文本窗格的粘贴命令}}
classAboutActionextendsAbstractAction{//关于版本命令
publicAboutAction(){
super("版本");}
publicvoidactionPerformed(ActionEvente){
Stringstr="记事本\n\版本:
1.0\n\n主要功能:
实现简单文本编辑。
JOptionPane.showMessageDialog(EditorDemo.this,str);//显示软件信息
}
}
如下图:
图4.2.5显示版本界面生成图
类向导等功能。
第一次启动时提示设置JavaJDK主目录及JDKJavaDoc目录,软件自动设置好类路径、编译器及解释器路径,还可以在帮助菜单中使用JDKHelp。
4.2.5系统调试分析
1:
窗口调试
确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。
在完成所有方法的源代码编辑后,对程序进行编译、运行!
会出现窗体如下图:
图4.2.6编译运行程序生成界面
2:
功能调试
对所有菜单项进行注册监听。
在编写触发事件时执行各项操作,包括了一些常用部分的事件处理,实现各功能键的操作。
例如当点击“文件“按钮是显示如下窗口:
图4.2.7文件按钮实现生成界面
当需要打开已存在的文件时,点击“打开文本”按钮会出现如下窗口:
图4.2.8打开文件按钮实现生成界面
当输入完文本是要保存的话,点击“保存文本”会出现下面的窗口:
图4.2.9输入文本界面图4.2.10保存文本界面
依次调试其他功能键及窗口,直至达到符合要求的能实现简易的记事本的功能!
4.3本章小结
本章介绍了系统的具体实现和部分关键代码,其中包括如何实现新建文件,打开文件,保存文件,退出系统以及剪切,拷贝,粘贴等具体操作。
第5章改进部分
5.1加登陆界面
5.1.1登陆界面设计
用户登陆界面图如图如图5.1.1和图5.1.2所示:
图5.1.1用户登录模块框图
图5.1.2用户登陆界面
LoginIn的作用是检测用户登陆的合法性,并确认用户输入了合法的登录名和口令
部分代码:
classLoginInextendsJFrame{
EditorDemoedit;
LoginInlogin;
JTextFieldf1;
JTextFieldf2;
JButtonb1;
JButtonb2;
Stringpower;//表示权限
StringimgePath="e:
/workspace/GUI/14.gif";
JPanelp5;
Imageimg=Toolkit.getDefaultToolkit().createImage(imgePath);
LoginIn(EditorDemoedit){
this.edit=edit;
login=this;
Containercp=getContentPane();
Labell1=newLabel("用户:
");
Labell2=newLabel("密码:
");
JPanelp1=newJPanel();
JPanelp2=newJPanel();
JPanelp3=newJPanel();
JPanelp4=newJPanel();
p5=newJPanel(){
protectedvoidpaintChildren(Graphicsg){
g.drawImage(img,0,0,this);
super.paintChildren(g);
}
};
f1=newJTextField(15);
f2=newJPasswordField(15);
b1=newJButton("登录");
b2=newJButton("重置");
p1.setBackground(Color.orange);
p2.add(l1);
p2.add(f1);
p2.setBorder(newMatteBorder(0,0,0,0,Color.BLACK));
p2.setBackground(Color.ORANGE);
p3.add(l2);
p3.add(f2);
p3.setBackground(Color.ORANGE);
p3.setBorder(newMatteBorder(0,0,0,0,Color.BLACK));
p4.add(b1);
p4.add(b2);
p4.setBorder(newMatteBorder(-3,-3,-3,-3,Color.CYAN));
p4.setBackground(Color.ORANGE);
p5.setLayout(newFlowLayout(FlowLayout.CENTER,20,20));
p5.add(p2);
p5.add(p3);
p5.add(p4);
cp.add(p5,BorderLayout.CENTER);
b1.addActionListener(newEnter());
b2.addActionListener(newReWrite());
addWindowListener(newwinClose());
}
classEnterimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if((f1.getText()).equals("admin")&&(f2.getText()).equals("123")){
JOptionPane.showMessageDialog(null,"登录成功!
用户权限是adimistrator");
power="adminstrator";
login.setVisible(false);
edit.setVisible(true);
}elseif((f1.getText()).equals("snake")
&&(f2.getText()).equals("123456")){
JOptionPane.showMessageDialog(null,"登录成功!
登录成功!
用户权限是user");
power="adminstrator";
}else
JOptionPane.showMessageDialog(null,"登录失败,请重新登录!
");
}
}
classReWriteimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
f1.setText("");
f2.setText("");
f1.requestFocus();
}
}
classwinCloseextendsWindowAdapter{
publicvoidwindowClosing(WindowEvente){
(e.getWindow()).dispose();
System.exit(0);
}
}
}
5.1.2系统主界面
登陆成功界面:
图5.2登陆成功界面
登陆成功后弹出记事
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计 报告 记事本 代码
![提示](https://static.bdocx.com/images/bang_tan.gif)