写字板Java程序设计B实验报告格式.docx

上传人:b****8 文档编号:10872765 上传时间:2023-02-23 格式:DOCX 页数:18 大小:152.67KB
下载 相关 举报
写字板Java程序设计B实验报告格式.docx_第1页
第1页 / 共18页
写字板Java程序设计B实验报告格式.docx_第2页
第2页 / 共18页
写字板Java程序设计B实验报告格式.docx_第3页
第3页 / 共18页
写字板Java程序设计B实验报告格式.docx_第4页
第4页 / 共18页
写字板Java程序设计B实验报告格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

写字板Java程序设计B实验报告格式.docx

《写字板Java程序设计B实验报告格式.docx》由会员分享,可在线阅读,更多相关《写字板Java程序设计B实验报告格式.docx(18页珍藏版)》请在冰豆网上搜索。

写字板Java程序设计B实验报告格式.docx

写字板Java程序设计B实验报告格式

华北科技学院计算机系综合性实验

实验报告

 

课程名称Java程序设计B

实验学期2011至2012学年第1学期

学生所在系部计算机学院

年级2009专业班级网络B091

学生姓名罗希学号200907024114

任课教师李芙玲

实验成绩

 

计算机系制

实验报告须知

1、学生上交实验报告时,必须为打印稿(A4纸)。

页面空间不够,可以顺延。

2、学生应该填写的内容包括:

封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。

3、教师应该填写的内容包括:

实验成绩、教师评价等。

4、教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。

综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。

任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。

5、未尽事宜,请参考该课程的实验大纲和教学大纲。

《Java程序设计B》课程综合性实验报告

开课实验室:

基础实验室2011年11月16日

实验题目

简易写字板软件设计

一、实验目的

通过编写Java的应用系统综合实例——简易写字板软件,总结、回顾和实践面向对象的编

程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,

同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。

熟悉在集成开发环境下编写Java程序。

二、设备与环境

硬件:

多媒体计算机

软件:

Windows2000以上的操作系统、JDK开发包、集成开发环境

三、实验内容

总体要求:

程序功能基本完成,用户界面友好,代码的可维护性和可扩展性较好,最好包括

必要的注释和相应的文档。

具体要求:

基本的文本录入,字符修改,删除,换行,粘贴,复制,剪切等功能,主要包括:

1.菜单栏设计及功能实现:

菜单栏主要包括文件、编辑、格式、帮助等常见菜单。

其中文件菜单有新建、打开、保存、另存为、退出等功能;编辑菜单有剪切、复制、粘贴、

等功能;格式菜单含有对文字字体、字型、字号及颜色等的设置功能,根据情况可在编辑菜

单添加查找和查找替换功能。

2.编辑区设计:

对文本的编辑处理区。

3.工具栏设计:

可根据需要增加该项功能。

4.其他功能设计。

四、实验结果及分析

1.界面设计

菜单的设计:

本程序共设计4个菜单,分别是文件、编辑、格式、帮助,各个菜单的功能见图。

 

 

文件菜单

 

编辑菜单

格式菜单

 

帮助菜单

 

2.文件菜单功能实现

新建功能设计:

if(e.getSource()==create){

if(!

mainText.getText().equals(s)){

intn=JOptionPane.showConfirmDialog(null,"您的文本已经修改,是否要保存?

","记事本",JOptionPane.YES_NO_CANCEL_OPTION);

if(n==JOptionPane.NO_OPTION){

mainText.setText(null);

setTitle("记事本");

s=mainText.getText();

}

if(n==JOptionPane.CANCEL_OPTION){return;}

if(n==JOptionPane.YES_OPTION){

if(getTitle().equals("记事本")){othersave();}

else{save();}

mainText.setText(null);

setTitle("记事本");

s=mainText.getText();

}

}

else{

mainText.setText(null);

setTitle("记事本");

s=mainText.getText();

}

其中s是定义的字符串,是用来存放文本区字符的,起始为空。

单击新建,如果文本为空,不

会有任何变化,如果文本去有文字,会弹出对话框。

 

单击“是”会弹出保存窗口,单击“否”会清空文本,单击“取消”会返回,不实

现任何操作,保存窗口

 

保存方法代码:

publicvoidsave(){

FilefileSave=newFile(getTitle());

charb[]=mainText.getText().toCharArray();

try{

FileWriterwr=newFileWriter(fileSave);

BufferedWriterout=newBufferedWriter(wr);

out.write(b);

out.close();

}

catch(IOExceptionee){}

s=mainText.getText();

setTitle(fileSave.getAbsolutePath());

setVisible(true);

}

保存完毕后文本区的内容存到STRINGs中,以便往后的操作。

打开功能:

打开方法代码:

publicvoidopen(){

inty=fileChooser.showOpenDialog(null);

if(y==JFileChooser.APPROVE_OPTION){

Filefileopen=fileChooser.getSelectedFile();

try{

FileReaderre=newFileReader(fileopen);

BufferedReaderin=newBufferedReader(re);

Strings=null;

mainText.setText(null);

while((s=in.readLine())!

=null){

mainText.append(s+"\n");

}

in.close();

re.close();

}

catch(IOExceptionee){}

s=mainText.getText();

setTitle(fileopen.getAbsolutePath());

setVisible(true);

}

}

点击打开时也会判断文件是否修改,若未保存弹出提示框(同新建),

若已经保存则弹出打开文件对话框,如图:

 

保存功能:

保存的方法有两个,当点击保存时会判断当前文本是否已经有保存的文件路径,

如果有,则调用SAVE()方法直接保存,不弹出对话框,

若没有,则调用OTHERSAVE()方法,弹出保存对话框。

主要代码如下:

publicvoidsave(){

FilefileSave=newFile(getTitle());

charb[]=mainText.getText().toCharArray();

try{

FileWriterwr=newFileWriter(fileSave);

BufferedWriterout=newBufferedWriter(wr);

out.write(b);

out.close();

}

catch(IOExceptionee){}

s=mainText.getText();

setTitle(fileSave.getAbsolutePath());

setVisible(true);

}

publicvoidothersave(){

intx=fileChooser.showSaveDialog(null);

if(x==JFileChooser.APPROVE_OPTION){

FilefileSave=fileChooser.getSelectedFile();

charb[]=mainText.getText().toCharArray();

try{

FileWriterwr=newFileWriter(fileSave);

BufferedWriterout=newBufferedWriter(wr);

out.write(b);

out.close();

}

catch(IOExceptionee){}

s=mainText.getText();

setTitle(fileSave.getAbsolutePath());

setVisible(true);

}

}

另保存功能:

单击另保存,直接调用OTHERSAVE()方法,无论文本是否保存都会弹出保存窗口。

退出功能:

单击退出也会若文本未保存会弹出提示对话框。

 

if(e.getSource()==exit){

if(!

mainText.getText().equals(s)){

ntn=JOptionPane.showConfirmDialog(null,"您的文本已经修改,是否要保存?

","记事本",JOptionPane.YES_NO_CANCEL_OPTION);

if(n==JOptionPane.NO_OPTION){System.exit(0);}

if(n==JOptionPane.CANCEL_OPTION){return;}

if(n==JOptionPane.YES_OPTION){

if(getTitle().equals("记事本")){othersave();}

else{save();}

System.exit(0);

}

}

elseSystem.exit(0);

}

3.编辑菜单功能实现

撤销:

创建撤销对象:

privateJPopupMenupmenu=newJPopupMenu();

finalUndoManagerundo=newUndoManager();

Documentdoc=mainText.getDocument();

添加撤销监听器:

doc.addUndoableEditListener(newUndoableEditListener(){

publicvoidundoableEditHappened(UndoableEditEventevt){

undo.addEdit(evt.getEdit());

}

});

使用UNDO()方法,并捕捉异常处理:

if(e.getSource()==cancel||e.getSource()==cancel2){

try{

undo.undo();

}

catch(CannotRedoExceptioncre){

cre.printStackTrace();

}

}

复制、粘贴、剪切、删除、全选功能:

if(e.getSource()==cut||e.getSource()==cut2)

mainText.cut();

if(e.getSource()==copy||e.getSource()==copy2)

mainText.copy();

if(e.getSource()==paste||e.getSource()==paste2)

mainText.paste();

if(e.getSource()==delete||e.getSource()==delete2){

Stringtemp=mainText.getSelectedText();//获得鼠标拖动选取的文本

intstart=mainText.getSelectionStart();

intend=mainText.getSelectionEnd();

mainText.replaceRange("",start,end);//

}

if(e.getSource()==all)

mainText.selectAll();

时间功能:

if(e.getSource()==date){

DatenowTime=newDate();

SimpleDateFormatmatter=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss(EE)");

mainText.setText(matter.format(nowTime));}

 

4.格式菜单功能实现

字体:

字体功能是用来显示和隐藏字体设计条用的,主要代码:

if(e.getSource()==world){

if(i==0){

pNorth.setVisible(true);

i=1;

validate();

}

else{

pNorth.setVisible(false);

i=0;

validate();

}

}

字体设计条中有如下功能:

字体,大小,粗体,斜体,自动换行,颜色设置功能。

字体设计条截图如下:

 

字形的设计代码:

if(e.getSource()==listFont||e.getSource()==sizeFont||

e.getSource()==bold||e.getSource()==italic){

Stringname=(String)listFont.getSelectedItem();

Integeri=(Integer)sizeFont.getSelectedItem();

booleanbo=bold.isSelected();

booleanit=italic.isSelected();

if(bo==false&&it==false){

Fontf=newFont(name,Font.TRUETYPE_FONT,i);

mainText.setFont(f);

}

if(bo==true&&it==false){

Fontf=newFont(name,Font.BOLD,i);

mainText.setFont(f);

}

if(bo==false&&it==true){

Fontf=newFont(name,Font.ITALIC,i);

mainText.setFont(f);

}

if(bo==true&&it==true){

Fontf=newFont(name,Font.BOLD+Font.ITALIC,i);

mainText.setFont(f);

}

}

自动换行代码:

if(e.getSource()==line){

mainText.setLineWrap(line.isSelected());

}

颜色对话框代码:

if(e.getSource()==color){

ColornewColor=JColorChooser.showDialog(this,"颜色板",mainText.getBackground());

if(newColor!

=null){

mainText.setForeground(newColor);

}

}

5.帮助菜单功能实现

帮助功能:

单击帮助主题会弹出一个对话框,不会实现任何效果。

 

关于记事本功能:

单击关于会弹出一个对话框,不会实现任何效果

 

 

这两个功能都是建立了对话框,继承JDialog,往里面加标签、按钮、文本框等等。

6.总结

这次的JAVA程序设计让我学到了很多东西,受益匪浅。

通过这次编程,学到了很多知识,如文件的输入输出,打开,保存对话框的使用,字体样式的设计,在网上也学习到了撤销功能和删除功能的实现。

在此次设计中,还通过自己的构想解决了,文件修改保存提示机制。

关键的想法就是创建一个STRINGS用来保存文本的内容。

每当退出,打开,新建时,就将当前文本内容与之前保存的S进行比较,若有变化就弹出保存提示对话框。

虽然这次编程遇到了很多问题,但是在老师,同学的帮助下,都能够顺利的解决,和同学之间的交流,又让我学到了很多以前没有主要的知识。

提高了同学之间的友谊。

我实践和总结了面向对象的编程思想以及编程方法,并通过编写写字板的程序的过程来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高了调试程序的能力,增强了自己对程序设计整体思路的把握。

与此同时,我也发现自己的不足,在编写程序过程中发现了自己容易忽略的错误,通过一次次试验和查阅相关资料以及不断改进,终于将实验基本完成。

这次的写字板还有很多功能没有实现,在今后的学习中我将继续努力学习JAVA,提高自己编程能力。

教师评价

评定项目

A

B

C

D

评定项目

A

B

C

D

算法正确

界面美观,布局合理

程序结构合理

操作熟练

语法、语义正确

解析完整

实验结果正确

文字流畅

报告规范

题解正确

其他:

 

评价教师签名:

2011年11月26日

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

当前位置:首页 > PPT模板 > 国外设计风格

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

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