JAVA记事本课程设计报告.docx

上传人:b****5 文档编号:12064100 上传时间:2023-04-16 格式:DOCX 页数:20 大小:74.22KB
下载 相关 举报
JAVA记事本课程设计报告.docx_第1页
第1页 / 共20页
JAVA记事本课程设计报告.docx_第2页
第2页 / 共20页
JAVA记事本课程设计报告.docx_第3页
第3页 / 共20页
JAVA记事本课程设计报告.docx_第4页
第4页 / 共20页
JAVA记事本课程设计报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

JAVA记事本课程设计报告.docx

《JAVA记事本课程设计报告.docx》由会员分享,可在线阅读,更多相关《JAVA记事本课程设计报告.docx(20页珍藏版)》请在冰豆网上搜索。

JAVA记事本课程设计报告.docx

JAVA记事本课程设计报告

存档资料成绩:

100 

华东交大理工学院

课程设计报告书

所属课程名称

Java语言实用教程

题目

我的记事本

院(系)

电信分院

班级

06电子商务

(2)班

学  号

20060210460220

学生姓名

夏彪

指导教师

向华萍

辅导教师

向华萍

 

2007年12月24日

华东交大理工学院

课程设计(论文)任务书

学院电信分院专业06电子商务(本)班级2

一、课程设计(论文)题目我的记事本

二、课程设计(论文)工作:

自2007年12月24日起至2007年12月30日止。

三、课程设计(论文)的内容要求:

1.本课程设计的目的

(1)掌握Java语言的程序设计方法;

(2)理论联系实际,进一步提高学生的软件开发技术;

(3)培养学生分析、解决问题的能力;

(4)提高学生实践论文撰写能力。

2.课程设计的任务及要求

1)基本要求:

(1)熟悉JAVA开发环境,掌握JAVA程序的编译和运行;

(2)掌握JAVA基本编程技术和方法;

(3)掌握GUI图形界面编程技术;

(4)了解异常处理机制。

2)课程设计论文编写要求

(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准

格式进行书写和装订。

(2)课程设计报告(论文)包括目录、设计目的、实现思路、实现步骤、设计心得

参考文献、附录等;

3)课程设计评分标准:

(1)学习态度:

10分;

(2)系统设计:

20分;

(3)编程调试:

20分;

(4)回答问题:

20分;

(5)论文撰写:

30分。

4)参考文献:

(1)丁振凡主编.Java语言实用教程[M].北京邮电大学出版社.2004.12

(2)丁振凡主编.Java语言实用教程实验指导[M].北京邮电大学出版社.2004.12

(3)

5)课程设计进度安排

1.准备阶段(4学时):

选择设计题目、了解设计目的要求、查阅相关资料

2.程序模块设计分析阶段(4学时):

程序总体设计、详细设计

3.代码编写调试阶段(8学时):

程序模块代码编写、调试、测试

4.撰写论文阶段(4学时):

总结课程设计任务和设计内容,撰写课程设计论文

6)课程设计题目具体要求:

编写一个简单的Windows记事本程序,提高学生掌握Java语言的程序设计的能

力,程序有合理的界面设计,能够在界面中实现对文件的写入,保存和全选,复制,

剪贴,复制等多种编辑功能。

并且能够顺利关闭界面,退出程序。

 

学生签名:

 

2007年12月日

课程设计(论文)评阅意见

序号

项目

等   级

优秀

良好

中等

及格

不及格

1

课程设计态度评价

2

出勤情况评价

3

任务难度评价

4

工作量饱满评价

5

设计中创新性评价

6

论文书写规范化评价

综合评定等级

评阅人 

2007年12月日

目 录

第1章系统设计目的.............................1

第2章系统实现思路..............................2

第3章系统详细设计..............................3

第4章系统调试运行..............................7

第5章课程设计心得..............................8

第6章参考文献..................................9

第7章附录...............................10

第1章系统设计目的

1)设计一个简单的Windows记事本,可以实现以下功能:

1:

文件的新建,打开,保存和另存;

2:

对文件的编辑,如全选,复制,剪切,粘贴;

3:

执行完操作后,能够顺利关闭记事本。

2)通过这次设计,可以帮助学生:

1:

提高对Java语言设计的掌握能力;

2:

理论联系实际,进一步提高学生的软件开发技术;

3:

培养学生分析、解决问题的能力。

第2章系统实现思路

设计两个类,一个jsb类,具有程序的要求和功能再创建一个keshe主类,在主类中创建一个jsb类的对象,就可以直接在编译器中运行程序。

1:

界面设计

在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。

2:

功能设计

在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。

点击不同菜单项时,显示不同界面。

3:

代码设计

编写每个控件的相关代码,并进行调试。

第3章系统详细设计

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

第4章 系统调试运行

1:

界面调试

确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。

在完成加入菜单控件后,不能缺少f.setMenuBar(menubar);语句,将menubar设为主窗体的菜单条,否则会看不到菜单栏。

如图:

 

2:

功能调试

对所有菜单项进行注册监听。

当进行除保存以外的菜单项的功能外,在actionPerformed中要编写判断界面是否已经打开或者编辑了文件,如果是,在进行别的功能之前,先对本文件的保存功能,以免文件的丢失。

在具体实现中可以用变量i来判断文件是否处于保存状态。

 

第5章 课程设计心得

经过一个星期的我的记事本的课程设计,我在向华萍老师的指导下,顺利完成该课程设计。

通过该课程设计,收获颇多。

首先,让我加深了对Java语言的理论知识的理解;

其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验;

再次,在设计过程中,学到了老师没有在课堂上没有教授的知识;

最后,加强了我对Java语言的学习兴趣和好感。

第6章 参考文献

[1]耿详义,张跃平.Java2实用教程.北京:

清华大学出版社,2004.2

[2]张利国.Java实用教程案例.北京:

清华大学出版社,2003.10

[3]周晓聪,等.面向对象程序设计与Java语言.北京:

机械工业出版社,2004.3

[4]李尊朝.Java语言程序设计.北京:

中国铁道出版社,2004.2

[5](美)PhilipHeller.ComplateJava2CertificationStudyGuideFourthEdition(Java2证学习指南)(第四版英文版).北京:

电子工业出版社,2004.1

第7章 附录

程序源代码:

importjava.awt.event.*;

importjava.awt.*;

importjava.io.*;

importjava.lang.String;

classjsbimplementsActionListener

{

Dialogbb;

Stringstrt;

inti;

FileDialogfd;

Filefile;

publicFramef;

publicTextAreap1;

publicMenuBarmenubar;

publicMenumenu1,menu2,menu3;

publicMenuItemitem1,item2,item3,item4,item5,item6,item7,item8,item9,item10;

jsb(Strings)

{i=0;

f=newFrame(s);

p1=newTextArea("");

f.setSize(500,500);

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("关于");

f.addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{f.setVisible(false);System.exit(0);}

});

menu1.add(item1);

menu1.add(item2);

menu1.add(item3);

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

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

f.setLayout(newGridLayout(1,1));

f.add(p1);f.pack();

}

publicvoidactionPerformed(ActionEvente)

{

Stringss;

ss=p1.getText().trim();

if(e.getSource()==item5)

{

if(i==0&&(ss.length()!

=0))

{

bc();

}

else

{

System.exit(0);

}

}

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()==item3)

{

if(i==0)

{

bc();

}

else

{

try{

file=newFile(fd.getDirectory(),fd.getFile());

f.setTitle(fd.getFile()+"--记事本");

FileWriterfw=newFileWriter(file);

BufferedWriterbw=newBufferedWriter(fw);

Strings=p1.getText();

s=s.replaceAll("\n","\r\n");

bw.write(s);

bw.flush();

bw.close();

fw.close();

i=1;

}

catch(IOExceptionexpOut){i=0;}

}

}

if(e.getSource()==item4)

{

bc();

}

if(e.getSource()==item10)

{

bb=newDialog(f,"关于");

Labell1=newLabel("本记事本的完成感谢老师和同学的帮助!

");

bb.add(l1);

bb.setSize(250,150);

bb.setBackground(Color.white);

bb.show();

bb.addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{bb.setVisible(false);bb.dispose();}

});

}

if(e.getSource()==item6)

{

p1.setSelectionStart(0);

p1.setSelectionEnd(p1.getText().length());

}

if(e.getSource()==item7)

{

try{

Stringstr=p1.getSelectedText();

if(str.length()!

=0)

{

strt=str;

}

}catch(Exceptionex)

{

}

}

if(e.getSource()==item8)

{

try{

Stringstr=p1.getSelectedText();

if(str.length()!

=0)

{

p1.replaceRange("",p1.getSelectionStart(),p1.getSelectionEnd());

}

}

catch(Exceptionex)

{

}

}

if(e.getSource()==item9)

{

if(strt.length()>0)

{

p1.insert(strt,p1.getCaretPosition());

}

}

}

publicvoidbc()

{

fd=newFileDialog(f,"保存文件",1);

fd.setVisible(true);

try{

file=newFile(fd.getDirectory(),fd.getFile());

f.setTitle(fd.getFile()+"--记事本");

FileWriterfw=newFileWriter(file);

BufferedWriterbw=newBufferedWriter(fw);

Strings=p1.getText();

s=s.replaceAll("\n","\r\n");

bw.write(s);

bw.flush();

bw.close();

fw.close();

i=1;

}

catch(IOExceptionexpOut){}

}

}

publicclasskeshe

{publicstaticvoidmain(Stringargs[])

{jsbdd=newjsb("我的记事本");}

}

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1