Java综合性实验报告-写字板软件(含代码)_工学_高等教育_教育专区
XXXXXX计算机系综合性实验实验报告课程名称Java程序设计A实验学期XXXX至XXXX学年第X学期学生所在系部计算机系年级XXXX专业班级XXXXXX学生姓名XXX学号XXXXXXXXXXXX任课教师XXX实验成绩计算机系制\n《Java程序设计A》课程综合性实验报告开课实验室:年月曰实验题目简易写字板软件设计一、实验目的通过编写Java的应用系统综合实例——简易写字板软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序來掌握Java语言编程技巧,将学习到的知识融会贯通,同时提髙调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。程序使用NetBeans集成开发环境完成,熟悉并掌握在NetBeans开发环境下编写Java程序。—>设备与环境硬件:多媒体计算机软件:Windows2000以上的操作系统、JDK开发包、Jdva集成开发环境等。三、实验内容总体要求:程序界面友好,代码的可维护性好,包括必要的注释和相应的文档。具体要求:基本的文本录入,字符修改,删除,换行,粘贴,复制,剪切等功能,主要包括:1.菜单栏设计及功能实现:菜单栏主要包括文件、编辑、格式、帮助等常见菜单。其中文件菜单有新建、打开、保存、另存为、退出等功能;编辑菜单有剪切、复制、粘贴、查找和查找替换等功能;格式菜单含冇对文字字体、字型、字号及颜色等的设置功能。2.编辑区设计:对文本的编辑处理区。3.工具栏设计:可根据需要增加该项功能。4.其他功能设计。四、实验结果及分析(一)主界面的设计与实现设置窗体的大小等基本属性及菜单项中的功能列表项publicmyNoteO{frm.setTitleC记事本");frm.add(Jsp);tx.setEditable(false);lx.addMouseListener(this);tx.setSelectionColor(newColor(100,150,250));jsp.setViewportView{tx);\nfrm.getContentPanc()・add{Jsp,BorderLayout.CENTER;JMenuBarjmb=newJMenuBar();JMenujml=newJMenuC文件(F)");String:]label1={〃新建〃,〃打开〃,〃保存〃,〃另存为〃,〃退出〃};JMenuItem[]jmi1=newJMenuItem[labell.length];for(inti=0;i
lenl){tx.select(lenl,len2);}else{tx・select(len2,lenl);}Data=change;}if(comm.equals(”剪切”)){jian=1;fuzhistr=tx.getSelectedText();tx.replaceSelection("");\n}1.复制,粘贴功能的实现:if(comm,equals(”复制”)){jian=0;fuzhistr=nn;fuzhistr=tx.getSelectedText();tx.copy();}if(comm.equals(”#占犯i”)){intstart=tx.getCaretPosition();tx.insert(fuzhistr,start);if(jian==1)fuzhistr=,fn;}2.查找替换功能的实现:点击查找和替换都会弹出一个对•话框,查找对话框会提醒用户根据什么杏找,杏找内容,用户可根据自己的需要进行杳找;替换对话框会提醒用户先杏找已有的内容,然后需要把内容替换为什么,然后进行替换,具体实现代码如下:if(comm.equals("查找”)){if(thD==0){set=0;qufen=1;czD=1;search();}}if(e.getSource()==jbl)//杳找{Stringczstri=1111;Stringstrain=11H;intn=0;czstr=tx.getText();strall=jtf.getText();czstrl=czstr.toLowerCase();strain=strall.toLowerCmse();\nif(fangxiang==0)if(qufen==0)\nif(czSign==0)n=czstr.indexOf(strall,set);}else{n=czstr.indexOf(strallfset+}}else{if(czSign==0){n=czstrl.indexOf(strain,set)}else{n=czstrl.indexOf(strain,set}}}else{czSign=1;if(qufen==0){n=czstr.lastlndexOf(stroll,set一}else{n=czstrl•lastIndexOf(strain,set}}if(n!=-1){if(fangxiang==0)straJLJL•length());+strall•length());strall•length());一strall•length());set=n+1;\nelseset=n-1;}tx.setSelectionStart(n);tx.setSelectionEnd(n+strall・length());}else{strall);JOptionPane.showMessageDialog(null找不至【J"}}if(e.getSource()==力2)//取消{jd・removeAll();jd.dispose();czD=0;thD=0;}if(comm.equals("替换”)){if(czD==0){set=0;qufen=1;thD=1;tihuan();}}if(e.getSource()==jb3)//替换{Stringstr=jtft.getText();intstart=set一1;tx.replaceSelection(str);tx・select(start,start+str.length());}if(e.getSource()==jb4)//全部替换{\nStringczstrl=HH;Stringstralll=nH;Stringstrl=””;intnl=0小2=0;intsetl=0;czstr=tx.getText();strall=jtf.getText();strl=jtft.getText();czstrl=czstr.toLowerCase();strain=strall•toLowerCase();if(qufen==0){n2=czstr.lastlndexOf(strall);}else{n2=czstrl.lastIndexOf(stralll);}while(setl<=n2){if(qufen==0){nl=czstr.indexOf(strallfset1);}else{nl=czstrl・indexOf(strain,setl);}if(nl!=-1){setl=nl+1;tx.setSelectionStart(nl);tx.setSelectionEnd(nl+strall•length());tx.replaceSelection(strl);}}}1.全选/时间/Fl期功能设定if(comm.equals("全选"))\ntx.selectAll();}if(comm,equals(”吋间/H期")){intstart=tx.getCaretPosition();Dated=newDate();SimpleDateFormatsdf=newSimpleDateFormat(ukk:mmyyyy/MM/dd”);Stringstr=sdf.format(d);tx.insert(strfstart);}工具栏的实现:1.自动换行功能实现if(comm.equals(”自动换行”)){tx・setLineWrap(true);}2.字体大小功能实现:字体大小功能设置比较简单,设置了5中大小字体,分别为10,20,30,40,50用户可以根据自己的需要进行选择然后输入,具体代码如下:if(comm.equals("10H)){七x.setFont(newFont(name,style,10));}if(comm・equals("20”)){tx.setFont(newFont(name,stylez20));}if(comm・equals(u30n)){tx・setFont(newFont(name,style,30));}if(comm.equals("40”)){tx・setFont(newFont(name,style,40));}if(comm,equals(*'50*')){tx・setFont(newFont(name,style,50));3•字体颜色功能实现:颜色设置了几只能够比较简单的色彩,红•绿•蓝……,用户可\n根据口己的喜好进行选择,具体代码如下:if(comm.equals(”纟[色”)){tx.setForeground(Color.red);}if(comm・equals("绿色”)){tx.setForeground(Color.green);}if(comm,equals("蓝色”)){tx.setForeground(Color.blue);}if(comm,equals("占占红”)){tx.setForeground(Color.pink);}if(comm,equals(”桔黄”)){tx・setForeground(Color.orange);}(三)运行结果图\n无标题-写字扳口回凶文件(F)编辑(E)格式(0)帮助(H)是独立开发就打算离开房间里决定设立福建dsl卡积分明年但是看三了粉红色的开发的skf回到家舒服的话受到监控手段skf贺岁发动机工skf和打开手机费户籍法都是经济撒旦了防护等级看对方空间按是对哇哦陪我宽带数据符合登记卡很聪明se日依然ujcj(四)收获和体会经过差不多两个星期的努力,基本上完成我的Java写字板程序,也基本上实现了我在需求分析时所预期的功能。通过这次的Java设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。同吋,做这门课程设计也进一步加强了我的动手能力。为了完成好这次程序设计,我提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关巧籍。在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。但是,设计过程中也存在一些问题,木来一开始想给这个写字板程序加上工具栏快捷按钮,以及添加其他具体功能,但是山于木人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次Java设计的一点遗憾。教师评价评定项目ABCD评定项目ABCD算法正确界面美观,布局合理程序结构合理操作熟练语法、语义正确解析完整实验结果正确文字流畅报告规范题解正确\n其他:评价教师签名:年月日