专业课程设计实验报告书_第1页
专业课程设计实验报告书_第2页
专业课程设计实验报告书_第3页
专业课程设计实验报告书_第4页
专业课程设计实验报告书_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

算法和数据结构课程设计汇报书信息科学和技术学院问题描述:【课题17】设计一个简单文本编辑器,使其含有通常编辑器(如Notepad)含有功效。设计软、硬件环境:系统:Windows7内存:4Gcpu:corei3380M2.53Ghz运行环境:JDK1.6编译软件:eclipseADT(数据结构和算法)设计和功效模块:Menumb=newMenuBar();Menum1=newMenu(“File”);NewOpenSavaExitSaveAs//新建、打开、保留、退出、另存为Menum2=newMenu(“Edit”);CutCopyPaste//剪切、复制、粘贴Menum3=newMenu(“Format”);Font//字体LowtoCaptital//小写转大写CaptitaltoLow//大写转小写Menum4=newMenu(“Help”);Help//版本信息正文宋体小四行间距固定值正文宋体小四行间距固定值22磅图表中文本为宋体5号行间距固定值1试验结果分析及收获:经过这次课程设计让我了解图形界面开发,收获挺多附录(源程序清单)packagedemo1;importjava.awt.*;importjava.awt.event.*;importjava.io.*;publicclasstest1{ privateintid_font;//字体 privatestaticStringtempString;//临时字符串,用于存放需要复制粘贴字符串 staticStringfilename="";//文件名 /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub finalFramef=newFrame("记事本"); f.setSize(600,400); f.setLocation(100,100); //TextFieldtf=newTextField(20); //f.add(tf,"North"); finalTextAreatf=newTextArea(); f.add(tf); tf.setBackground(newColor(50,250,200)); f.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente) { System.exit(0); } }); MenuBarmb=newMenuBar(); Menum1=newMenu("文件"); Menum2=newMenu("编辑"); Menum3=newMenu("格式"); Menum4=newMenu("帮助");//////////////////////////////////////////////////////////// MenuItemmi1=newMenuItem("新建"); mi1.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ tf.replaceRange("",0,tf.getText().length()); StringstrFile="";//文件名清空 } });//////////////////////////////////////////////////////////// MenuItemmi2=newMenuItem("打开"); mi2.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){//注册监听器 FileDialogd=newFileDialog(f,"openfile",FileDialog.LOAD);//创建文件对话框 //打开文件对话框 d.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEventee){ System.exit(0); } }); d.setVisible(true); Filef=newFile(d.getDirectory()+d.getFile());//建立新文件 Stringstrfile=d.getDirectory()+d.getFile();//得到文件名 charch[]=newchar[(int)f.length()];//用此文件长度建立一个字符数组 try//异常处理 { //读出数据,并存入字符数组ch中 BufferedReaderbw=newBufferedReader(newFileReader(f)); bw.read(ch); bw.close(); } catch(FileNotFoundExceptionfe){ System.out.println("filenotfound"); System.exit(0); } catch(IOExceptionie){ System.out.println("IOerror"); System.exit(0); } Strings=newString(ch); tf.setText(s); } } );////////////////////////////////////////////////////////////////////////////////// MenuItemmi3=newMenuItem("保留"); mi3.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente){ if(filename.equals("")){ //假如文件没有被保留过,即文件名为空 FileDialogd=newFileDialog(f,"savefile",FileDialog.SAVE); //保留文件对话框 d.addWindowListener(newWindowAdapter(){//关闭文件对话框窗口 publicvoidwindowClosing(WindowEventee){ System.exit(0); } }); d.setVisible(true); Strings=tf.getText();//得到所输入文本内容 try//异常处理 { Filef=newFile(d.getDirectory()+d.getFile());//新建文件 Stringstrfile=d.getDirectory()+d.getFile();//得到文件名 BufferedWriterbw=newBufferedWriter(newFileWriter(f)); //输入到文件中 bw.write(s,0,s.length()); bw.close(); } catch(FileNotFoundExceptionfe_){ System.out.println("filenotfound"); System.exit(0); } catch(IOExceptionie_) { System.out.println("IOerror"); System.exit(0); } } else//假如文件已经保留过 { Strings=tf.getText();//得到所输入文本内容 try//异常处理 {/*filename*/ Filef=newFile(filename);//新建文件 BufferedWriterbw=newBufferedWriter(newFileWriter(f)); //输入到文件中 bw.write(s,0,s.length()); bw.close(); } catch(FileNotFoundExceptionfe_){ System.out.println("filenotfound"); System.exit(0); } catch(IOExceptionie_) { System.out.println("IOerror"); System.exit(0); } } } });///////////////////////////////////////////////////////////////////////////////// MenuItemmi4=newMenuItem("退出"); mi4.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente){ System.exit(0); } });/////////////////////////////////////////////////////////////////////////////// MenuItemmi5=newMenuItem("剪切"); mi5.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ tempString=tf.getSelectedText(); //得到要复制内容,暂存在tempString中 StringBuffertmp=newStringBuffer(tf.getText()); //临时存放文本 intstart=tf.getSelectionStart(); //得到要删除字符串起始位置 intlen=tf.getSelectedText().length(); //得到要删除字符串长度 tmp.delete(start,start+len);//删除所选字符串 tf.setText(tmp.toString());//用新文本设置原文本 } });//////////////////////////////////////////////////////////////////////////////// MenuItemmi6=newMenuItem("复制"); mi6.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ tempString=tf.getSelectedText(); //得到要复制内容,暂存在tempString中 } });//////////////////////////////////////////////////////////////////////////////// MenuItemmi7=newMenuItem("粘贴"); mi7.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ StringBuffertmp=newStringBuffer(tf.getText());//临时存放文本 intstart=tf.getSelectionStart();//得到要粘贴位置 tmp.insert(start,tempString); tf.setText(tmp.toString());//用新文本设置原文本 } });///////////////////////////////////////////////////////////////////////////////// MenuItemmi8=newMenuItem("字体"); mi8.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ finalDialogd=newDialog(f,"Font");//新建对话框 d.setLocation(250,250);//起始位置 d.setLayout(newBorderLayout());//表格布局 /////////////上部分面板 Labell_font=newLabel("font");//font标签 Panelp_1=newPanel(); p_1.add(l_font); p_1.setVisible(true); //中部面板 Listfont_list=newList(6,false);//字体列表 //添加字体项目 font_list.add("Plain");//一般字体 font_list.add("Bold");//粗体 font_list.add("Italic");//斜体 //font_list.addItemListener(new());// Panelp_2=newPanel(); p_2.add(font_list); p_2.setVisible(true); //////////下面部分面板 Buttonok=newButton("ok"); ok.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ d.dispose(); } }); ok.setSize(newDimension(20,5)); Panelp_3=newPanel();//下部分面板 p_3.setVisible(true); //添加三个面板 d.add(p_1,BorderLayout.NORTH); d.add(p_2,BorderLayout.CENTER); d.add(p_3,BorderLayout.SOUTH); d.pack(); d.addWindowListener(newWindowAdapter(){ //关闭对话框窗口 publicvoidwindowClosing(WindowEventee){ d.dispose(); } }); d.setVisible(true); } });//////////////////////////////////////////////////////////////////////////////////////////////// MenuItemmi9=newMenuItem("小写转换大写"); mi9.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ Strings=tf.getText();//得到所输入文本内容 StringBuffertemp=newStringBuffer(""); for(inti=0;i<s.length();i++){ if((int)s.charAt(i)>=97&&(int)s.charAt(i)<=122){ temp.append((char)((int)s.charAt(i)-32)); } else temp.append(s.charAt(i)); } s=newString(temp); tf.setText(s); } });////////////////////////////////////////////////////////////////////////////// MenuItemmi10=newMenuItem("大写转换小写"); mi10.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ Strings=tf.getText();//得到所输入文本内容 StringBuffertemp=newStringBuffer(""); for(inti=0;i<s.length();i++){ if((int)s.charAt(i)>=65&&(int)s.charAt(i)<=90){ temp.append((char)((int)s.charAt(i)+32)); } else temp.append(s.charAt(i)); } s=newString(temp); tf.setText(s); } });///////////////////////////////////////////////////////////////////////////// MenuItemmi11=newMenuItem("帮助"); mi11.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ finalDialogd=newDialog(f,"AboutNotpad");//新建对话框 TextAreat=newTextArea("\n欢迎使用记事本"+"\n\n"+"Copyright@dongxiuyun"+"\n\n"+"freesoftware"+"\n\n"+"版本@0.1");//添加标签 t.setSize(newDimension(5,5)); t.setEditable(false); d.setResizable(false);//不可改变大小 d.add(t); d.pack(); d.addWindowListener(newWindowAdapter(){ //关闭对话框窗口 publicvoidwindowClosing(WindowEventee){ d.dispose(); } }); d.setLocation(100,250); d.setVisible(true); } });//////////////////////////////////////////////////////////////////////////////////////// MenuItemmi12=newMenuItem("另存为"); mi12.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ FileDialogd=newFileDialog(f,"savefile",FileDialog.SAVE);//保留文件对话框 d.addWindowListener(newWindowAdapter(){//关闭文件对话框窗口 publicvoidwindowClosing(WindowEventee){ System.exit(0); } }); d.setVisible(true); Strings=tf.getText();//得到所输入文本内容 try//异常处理 { Filef=newFile(d.getDirectory()+d.getFile());//新建文件 BufferedWriterbw=newBufferedWriter(newFileWriter(f));//输入到文件中 bw.write(s,0,s.length()); bw.close(); } catch(FileNotFoundExceptionfe_){ System.out.println("filenotfound"); System.exit(0); } cat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论