JAVA课程设计报告记事本含代码Word文档下载推荐.docx
《JAVA课程设计报告记事本含代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计报告记事本含代码Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。
下面我们就来看看记事本吧。
相对于微软的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(){
打开文本"
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(){
保存文本"
inti=filechooser.showSaveDialog(EditorDemo.this);
//显示保存文件对话框
if(i==JFileChooser.APPROVE_OPTION){//点击对话框中保存按钮
try{
FileOutputStreamout=newFileOutputStream(f);
//得到文件输出流
out.write(textPane.getText().getBytes());
//写出文件
//输出出错信息}}}}
图4.3.1保存文件生成界面
classExitActionextendsAbstractAction{//实现退出命令
publicExitAction(){
退出系统"
System.exit(0);
//退出程序}}
classCutActionextendsAbstractAction{//实现剪切命令
publicCutAction(){
剪切"
textPane.cut();
//调用文本窗格的剪切命令}}
classCopyActionextendsAbstractAction{//实现拷贝命令
publicCopyAction(){
拷贝"
publicvoidactionPerformed(ActionEvente)
{textPane.copy();
//调用文本窗格的拷贝命令
classPasteActionextendsAbstractAction{//实现粘贴命令
publicPasteAction(){
粘贴"
textPane.paste();
//调用文本窗格的粘贴命令}}
classAboutActionextendsAbstractAction{//关于版本命令
publicAboutAction(){
版本"
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{
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"
)
&
123456"
登录成功!
用户权限是user"
}else
登录失败,请重新登录!
classReWriteimplementsActionListener{
f1.setText("
f2.setText("
f1.requestFocus();
classwinCloseextendsWindowAdapter{
publicvoidwindowClosing(WindowEvente){
(e.getWindow()).dispose();
5.1.2系统主界面
登陆成功界面:
图5.2登陆成功界面
登陆成功后弹出记事