您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > JAVA课程设计-编写一个记事本程序
Java语言程序设计B报告题目:编写一个记事本程序一.要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。二.课程设计思路。设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。三.课程设计实现功能结构图。3.1“文件”菜单。3.2“编辑”菜单。开始“文件”菜单新建另存为File=null打开用JFileChooser()选择所有打开文件路径用unfold()读取所选的文件内容到记事本保存用sava()保存文件用JFileChooser()选择文件另存的路径用sava()保存文件退出或关闭文件是否修改用sava()保存文件Y结束N图3.2“文件”菜单操作流程图用close()关闭文件开始“编辑”菜单剪切全选设置修改标签,text.cut()复制用text.copy()实现粘贴设置修改标签,text.paste()删除设置修改标签,text.replaceRange(,start,end);查找替换用FindAndReplace{}方法实现用text.selectAll()实现退出或关闭文件是否修改用sava()保存文件并结束用close()关闭文件YN图3.3“编辑”菜单操作流程图四.记事本实现功能代码实现。4.1.界面设计。主要代码:f=newFrame(s);p1=newTextArea();f.setSize(400,600);f.setBackground(Color.white);f.setVisible(true);menubar=newMenuBar();menu1=newMenu(文件);menu2=newMenu(编辑);item1=newMenuItem(新建);item2=newMenuItem(打开);item3=newMenuItem(保存);item4=newMenuItem(另存为);item5=newMenuItem(退出);item6=newMenuItem(全选);item7=newMenuItem(复制);item8=newMenuItem(剪切);item9=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);menubar.add(menu1);menubar.add(menu2);f.setMenuBar(menubar);程序代码实现截图:4.2功能代码详细设计。4.2.1新建文件。if(e.getSource()==item1){if(i==0&&(ss.length()!=0)){bc();}elsep1.setText();i=0;f.setTitle(文件对话框);}4.2.2打开文件。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){}}4.2.3复制文件。if(e.getSource()==item7){try{Stringstr=p1.getSelectedText();if(str.length()!=0){strt=str;}}catch(Exceptionex){}}4.2.4粘贴文件。if(e.getSource()==item9){if(strt.length()0){p1.insert(strt,p1.getCaretPosition());}4.2.5退出记事本。if(e.getSource()==item5){if(i==0&&(ss.length()!=0)){bc();}else{System.exit(0);}}五.JAVA课程设计个人总结。这个学期我们学习了JAVA语言,这对于我们来说是一门十分陌生的编程语言,在学习的过程中,我感到了这门语言的学习有一定的困难,与C、C++语言相比需要克服的困难也相对多一些。在学习了JAVA课程后,我们通过这次的JAVA课程设计复习和掌握我们学习的JAVA语言知识,并且在课程设计的过程中巩固和运用相关的知识,提高自己的JAVA编程能力。通过这次的JAVA课程设计,我更好地了解了JAVA的编程方法,并且在遇到困难的时候,能主动请教身边的同学,不仅仅培养了我的编程能力,在与同学的交流中我也更好的培养了与其他人的交流能力,相信通过这次的JAVA课程设计,我更好地学习了JAVA,相信我自己在以后的学习中能继续学习JAVA,在更好地丰富自己JAVA知识的同时,积极提高自己的JAVA编程能力,在以后能更好地掌握JAVA语言。JAVA语言课程设计程序源代码: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;istrme.length;i++){me[i]=newMenu(strme[i]);mb.add(me[i]);mi[i]=newMenuItem[strmi[i].length];for(intj=0;jstrmi[i].length;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.equ
本文标题:JAVA课程设计-编写一个记事本程序
链接地址:https://www.777doc.com/doc-6040206 .html