JAVA简单记事本程序设计.docx
- 文档编号:12208163
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:18
- 大小:170.23KB
JAVA简单记事本程序设计.docx
《JAVA简单记事本程序设计.docx》由会员分享,可在线阅读,更多相关《JAVA简单记事本程序设计.docx(18页珍藏版)》请在冰豆网上搜索。
JAVA简单记事本程序设计
目录
目录1
一、引言2
1.1课程设计目的2
1.2题目说明2
1.3开发工具介绍2
二、总体设计3
2.1系统开发平台3
2.2系统流程图4
2.3功能结构图4
2.4数据库设计4
三、详细说明4
3.1系统实施5
四、系统的调试和运行9
五、课程设计总结9
六、参考文献9
附录(源程序代码)10
一、引言
1.1课程设计目的
1)复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;
2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;
3)培养学生在项目开发中团队合作精神,创新意识及能力。
1.掌握窗口、菜单等高级组件的应用。
2.掌握JavaSwing的使用方法。
3.了解GUI应用程序的创建过程与方法。
1.2题目说明
课题:
学生成绩管理
4.功能要求:
编写一个简单记事本程序,要求包含以下菜单项
文件新建、打开、保存、退出
编辑剪切、拷贝、粘贴、查找
帮助关于
5.实现文件和编辑菜单里的功能
1.3开发工具介绍
Eclipse是一种可扩展的开放源代码IDE。
2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。
集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。
为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。
Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。
利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。
如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。
事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。
Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似微软公司的VisualStudio和Sun微系统公司的NetBeans平台。
Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。
Eclipse联盟已经宣布将在2004年中期发布其3.0版软件。
这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。
缺点就是较复杂,对初学者来说,理解起来较困难。
二、总体设计
2.1系统开发平台
前端使用JAVA设计
2.2系统流程图
2.3功能结构图
3.2.2“文件”菜单操作流程图
3.2.3“编辑”菜单操作流程图
3.2.4“帮助”菜单操作流程图
三、详细说明
设计两个类,一个jsb类,具有程序的要求和功能再创建一个keshe主类,在主类中创建一个jsb类的对象,就可以直接在编译器中运行程序。
1:
界面设计
在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。
2:
功能设计
在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。
点击不同菜单项时,显示不同界面。
3:
代码设计
编写每个控件的相关代码,并进行调试。
3.1系统实施
1:
界面设计
创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。
主要代码:
f=newFrame(s);
p1=newTextArea("");
f.setSize(400,600);
f.setBackground(Color.white);
f.setVisible(true);
menubar=newMenuBar();
menu1=newMenu("文件");
menu2=newMenu("编辑");
menu3=newMenu("帮助");
item1=newMenuItem("新建");
item2=newMenuItem("打开");
item3=newMenuItem("保存");
item4=newMenuItem("另存为");
item5=newMenuItem("退出");
item6=newMenuItem("全选");
item7=newMenuItem("复制");
item8=newMenuItem("剪切");
item9=newMenuItem("粘贴");
item10=newMenuItem("关于");
menu1.add(item1);
menu1.add(item2);
menu1.add(item4);
menu1.add(item5);
menu2.add(item6);
menu2.add(item7);
menu2.add(item8);
menu2.add(item9);
menu3.add(item10);
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
f.setMenuBar(menubar);
2:
功能设计
对每个菜单项进行注册监听。
点击不同菜单项时,显示不同界面。
主要代码
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
item5.addActionListener(this);
item6.addActionListener(this);
item7.addActionListener(this);
item8.addActionListener(this);
item9.addActionListener(this);
item10.addActionListener(this);
3:
代码设计
部分菜单项的相关代码:
新建文件
if(e.getSource()==item1)
{if(i==0&&(ss.length()!
=0)){bc();}
else
p1.setText("");i=0;f.setTitle("文件对话框");}
打开文件
if(e.getSource()==item2)
{fd=newFileDialog(f,"打开文件",0);
fd.setVisible(true);
try{file=newFile(fd.getDirectory(),fd.getFile());
f.setTitle(fd.getFile()+"文件对话框");
FileReaderfr=newFileReader(file);
BufferedReaderbr=newBufferedReader(fr);
Stringline=null;
Stringview="";
while((line=br.readLine())!
=null)
{view+=line+"\n";}
p1.setText(view);
br.close();
fr.close();}
catch(IOExceptionexpIn)
{}}
复制文件
if(e.getSource()==item7)
{try{
Stringstr=p1.getSelectedText();
if(str.length()!
=0)
{strt=str;
}}catch(Exceptionex)
{}}
粘贴文件
if(e.getSource()==item9)
{if(strt.length()>0)
{p1.insert(strt,p1.getCaretPosition());
}
退出记事本
if(e.getSource()==item5)
{if(i==0&&(ss.length()!
=0))
{bc();}else{System.exit(0);}}
四、系统的调试和运行
1:
界面调试
确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。
在完成加入菜单控件后,不能缺少f.setMenuBar(menubar);语句,将menubar设为主窗体的菜单条,否则会看不到菜单栏。
如图:
2:
功能调试
对所有菜单项进行注册监听。
当进行除保存以外的菜单项的功能外,在actionPerformed中要编写判断界面是否已经打开或者编辑了文件,如果是,在进行别的功能之前,先对本文件的保存功能,以免文件的丢失。
在具体实现中可以用变量i来判断文件是否处于保存状态。
五、课程设计总结
本次课程设计,让我获益匪浅,不仅更深入的了解Java这门学科,更使自己有了继续探索的兴趣。
于个人而言,在程序设计的过程中,我深感“认真严谨”这个词的重要性,一点点小的马虎,便会导致整个程序不能正常运行。
在今后的学习中,我定将“认真严谨时刻作为自的谨言。
与此同时,本小组成员的互帮互助,让我体会到了团结的力量,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。
总之,此次课程设计在我的学生生涯中启上了至关重要的作用。
最后,真诚的感谢陈珂、顾成喜老师的指导和教诲。
六、参考文献
按照以下格式书写
[1]权明富,齐佳音,舒华英.客户价值评价指标体系设计[J].南开管理评论,2004,7(3):
17-18.
[2]刘小洪,邹鹏.商业银行客户关系价值管理模型研究[J].管理科学,2005,18(3):
57-60.
附录(源程序代码)
importjava.io.*;
importjava.awt.*;
importjava.awt.event.*;
classFileInAndOut{
publicstaticStringfileInput(StringfName){
StringstrRead="";
try{
FileReaderfr=newFileReader(fName);
BufferedReaderbr=newBufferedReader(fr);
Stringaline=newString();
while((aline=br.readLine())!
=null)
strRead=strRead+aline;
br.close();
fr.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
returnstrRead;
}
publicstaticvoidfileWrite(StringfName,Stringtemp){
try{
FileWriterfw=newFileWriter(fName);
BufferedWriterbw=newBufferedWriter(fw);
bw.write(temp);
bw.close();
fw.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
publicclassMyNoteimplementsActionListener{
privateFramef;
privateTextAreata;
privateMenuBarmb;
privateStringstrme[]={"文件","编辑","帮助"};
privateStringstrmi[][]={{"新建","打开","保存","退出"},
{"剪切","拷贝","粘贴","查找"},
{"关于"}};
privateStringfileDir,fileName,temp="";
privateMenume[];
privateMenuItemmi[][];
privateLabell1,l2;
privateTextFieldt1,t2;
privateButtonb1,b2,b3;
privateDialogdiaFind,diaAbout;
publicMyNote(){
f=newFrame("无标题--我的记事本");
ta=newTextArea();
f.add(ta);
mb=newMenuBar();
f.setMenuBar(mb);
mi=newMenuItem[strme.length][];
me=newMenu[strme.length];
for(inti=0;i me[i]=newMenu(strme[i]); mb.add(me[i]); mi[i]=newMenuItem[strmi[i].length]; for(intj=0;j mi[i][j]=newMenuItem(strmi[i][j]); me[i].add(mi[i][j]); mi[i][j].addActionListener(this); } } f.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0); } }); f.setSize(400,300); f.show(); diaFind=newDialog(f,"查找",true); diaFind.setLayout(newFlowLayout()); diaFind.setSize(260,120); l1=newLabel("查找内容"); l2=newLabel("替换为"); t1=newTextField(20); t2=newTextField(20); b1=newButton("下一个"); b2=newButton("替换"); b3=newButton("取消"); diaFind.add(l1); diaFind.add(t1); diaFind.add(l2); diaFind.add(t2); diaFind.add(b1); diaFind.add(b2); diaFind.add(b3); diaFind.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ diaFind.dispose(); } }); } publicvoidactionPerformed(ActionEvente){ Stringcmd=e.getActionCommand(); if(cmd.equals("新建")){ fileDir=""; fileName=""; ta.setText(""); f.setTitle("无标题--我的记事本"); } if(cmd.equals("打开")){ FileDialogdiaOpen=newFileDialog(f,"",FileDialog.LOAD); diaOpen.show(); fileDir=diaOpen.getDirectory(); fileName=diaOpen.getFile(); if(! fileName.equals("")){ ta.setText(FileInAndOut.fileInput(fileDir+fileName)); f.setTitle(fileName+"--我的记事本"); } } if(cmd.equals("保存")){ FileDialogdiaSave=newFileDialog(f,"",FileDialog.SAVE); diaSave.show(); fileDir=diaSave.getDirectory(); fileName=diaSave.getFile(); if(! fileName.equals("")){ FileInAndOut.fileWrite(fileDir+fileName,ta.getText()); f.setTitle(fileName+"--我的记事本"); } } if(cmd.equals("退出")){ System.exit(0); } if(cmd.equals("剪切")){ intx,y; x=ta.getSelectionStart(); y=ta.getSelectionEnd(); temp=ta.getSelectedText(); ta.replaceRange("",x,y); } if(cmd.equals("拷贝")){ temp=ta.getSelectedText(); } if(cmd.equals("粘贴")){ ta.replaceRange(temp,ta.getSelectionStart(),ta.getSelectionEnd()); } if(cmd.equals("查找")){ diaFind.show(); } if(cmd.equals("关于")){ } } publicstaticvoidmain(String[]args){ newMyNote(); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 简单 记事本 程序设计