JAVA简单记事本程序设计.docx

上传人:b****1 文档编号:1999634 上传时间:2023-05-02 格式:DOCX 页数:18 大小:170.23KB
下载 相关 举报
JAVA简单记事本程序设计.docx_第1页
第1页 / 共18页
JAVA简单记事本程序设计.docx_第2页
第2页 / 共18页
JAVA简单记事本程序设计.docx_第3页
第3页 / 共18页
JAVA简单记事本程序设计.docx_第4页
第4页 / 共18页
JAVA简单记事本程序设计.docx_第5页
第5页 / 共18页
JAVA简单记事本程序设计.docx_第6页
第6页 / 共18页
JAVA简单记事本程序设计.docx_第7页
第7页 / 共18页
JAVA简单记事本程序设计.docx_第8页
第8页 / 共18页
JAVA简单记事本程序设计.docx_第9页
第9页 / 共18页
JAVA简单记事本程序设计.docx_第10页
第10页 / 共18页
JAVA简单记事本程序设计.docx_第11页
第11页 / 共18页
JAVA简单记事本程序设计.docx_第12页
第12页 / 共18页
JAVA简单记事本程序设计.docx_第13页
第13页 / 共18页
JAVA简单记事本程序设计.docx_第14页
第14页 / 共18页
JAVA简单记事本程序设计.docx_第15页
第15页 / 共18页
JAVA简单记事本程序设计.docx_第16页
第16页 / 共18页
JAVA简单记事本程序设计.docx_第17页
第17页 / 共18页
JAVA简单记事本程序设计.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA简单记事本程序设计.docx

《JAVA简单记事本程序设计.docx》由会员分享,可在线阅读,更多相关《JAVA简单记事本程序设计.docx(18页珍藏版)》请在冰点文库上搜索。

JAVA简单记事本程序设计.docx

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();

}

}

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2