12020年4月19日制作一个文本编辑器java课程设计报告《Java语言程序设计》课程设计报告设计题目:制作一个文本编辑器分院:电信分院班级:姓名:学号:指导教师:黄建华实验地点:三教机六课设时间:-12-20——-12-25二OO九年十二月二十五日文档仅供参考,不当之处,请联系改正。12020年4月19日《Java语言程序设计课程设计》目录一、设计思路…………………………………………………………………2二、设计过程…………………………………………………………………3三、测试结果…………………………………………………………………12四、心得体会…………………………………………………………………13五、程序代码…………………………………………………………………14文档仅供参考,不当之处,请联系改正。22020年4月19日一、设计思路(一)设计概念要制作一个文本编辑器,首先得理清思路,要做一个什么样的文本编辑器,做成的编辑器要求要实现哪些功能,要实现这些功能分别需要用到什么方法以及怎样组织编辑器的框架结构等等问题。现把我的设计思路简要介绍如下:1、明确设计要求首先要创立了一个窗体,标题为“×××设计的文本编辑器”,设计要求是要编辑文件和编辑这两个菜单项,要求在文件菜单项上添加新建、打开、保存、退出四个下拉子菜单,要求当用户单文档仅供参考,不当之处,请联系改正。32020年4月19日击新建时就能够新建一个空白文档;当单击打开时能够从已有的目录下打开需要打开的文本文件,在原有文件中能够选择要打开的文件;当单击保存时能够出现保存的路径,选择自己要保存到的路径将文件保存到指定的文件夹中;单击退出菜单时退出文件的下拉菜单。在编辑菜单下的子菜单复制,能够进行对文本的复制。在文本区内要求当单击鼠标右键时能够弹出菜单,要求有两个子菜单为复制和字体,经过单击字体菜单能够实现对字体改变。而且在窗体的右上方有三个按钮能够实现最小化、最大化、和关闭。而且用户也能够根据自己的需要改变窗体的大小。2、确定设计思路即设计步骤(必须想到要用到哪几个方面的程序、包、方法、以及基本的程序语言)(1)创立一个窗体,包括构造一个文本域为编辑器各种功能的实现提供一个伸展平台;(2)新建一个空的菜单条,然后添加菜单项(文件菜单和编辑菜单);(3)设计程序在菜单项下添加子菜单,文本菜单对应新建、打开、保存和退出,编辑菜单包括的子菜单为复制和粘贴;(4)添加右键快捷弹出式菜单,包括复制、字体等菜单项。3、上两步都完成以后,就进入程序的检测运行阶段即所谓的编译运行,看是否符合设计要求,是否达到理想中的那种效果,在测验阶段,要一步一步完善自己的作品直至真正意义上的完成整个文档仅供参考,不当之处,请联系改正。42020年4月19日设计过程。(二)流程图文档仅供参考,不当之处,请联系改正。52020年4月19日二、设计过程新建打开Open保存Save退出Exit复制Copy字体大小复制Copy粘贴Paste字体颜色快捷菜单编辑Edit文件File空的菜单条文本域TextArea窗体Frame主方法Main()公共类Bjq粘贴Paste文档仅供参考,不当之处,请联系改正。62020年4月19日1、功能介绍:经过记事本编辑器能够实现新建、打开、保存文本文件、以及退出;同时也有对字体的改变、对字的颜色的改变以及复制、粘贴等功能,根据自己的意愿改变窗体,实行对其的最小化、最大化、关闭等等。2、设计步骤:importjavax.swing.*;importjavax.swing.event.*;importjava.awt.*;importjava.awt.print.*;importjava.awt.datatransfer.*;importjava.applet.*;importjavax.swing.JColorChooser;importjavax.swing.event.*;importjava.awt.event.*;importjava.io.*;importjavax.swing.*;importjavax.swing.text.*;importjavax.swing.colorchooser.*;引用两个包:javax、java、以及对应的方法文档仅供参考,不当之处,请联系改正。72020年4月19日(1)首先创立一个公共的类名为Bjq为文本编辑器创立一个窗体并设计标题为:08通信(2)班骆玉春设计的文本编辑器Bjq;并创立编辑器的文本域,具体代码如下;//设计标题JFramef=newJFrame();f.setTitle(08通信(2)班骆玉春设计的文本编辑器Bjq);//构造文本域JTextAreaaa=newJTextArea(,20,50);//构造一个文本域(2)创立一个空的菜单条并添加两个菜单项(文件、编辑)JMenuBarcc=newJMenuBar();//创立一个空的菜单条//创立文件和编辑这两个菜单项JMenufile=newJMenu(文件);JMenuedit=newJMenu(编辑);(3)先设计一个匿名内部类,为文件、编辑菜单添加新建和其它下拉子菜单“新建”子菜单:创立OpenL类实现了ActionLister并实现其读取文件的功能以匿名内部类的形式创立菜单监听器这些代码的作用文档仅供参考,不当之处,请联系改正。82020年4月19日是实现对新建、保存、打开、退出、复制进行监听,//实现文本文件的打开功能----即文件菜单下的子菜单打开classopenLimplementsActionListener{publicvoidactionPerformed(ActionEvente){JFileChooserfc=newJFileChooser();intreturnVal=fc.showDialog(Bjq.this,打开);“退出”子菜单://实现文本文件的退出功能----即文件菜单下的子菜单退出classexitLimplementsActionListener{publicvoidactionPerformed(ActionEvente){System.exit(0);}}//新建、保存、复制、粘贴与之相类似就不做说明(4)右键快捷菜单的字体子菜单的创立:字体包括字体的大小和字体的颜色等等//设计字体大小classfontsizeimplementsActionListener{publicvoidactionPerformed(ActionEvente){intn;Stringno;文档仅供参考,不当之处,请联系改正。92020年4月19日no=JOptionPane.showInputDialog(请输入你想要的字体大小:);n=Integer.parseInt(no);Fontft;ft=newFont(,Font.BOLD,n);aa.setFont(ft);}}经过用户输入所需的字号的大小来调节字体大小以满足不同需要,//设计字体颜色classfontcolorimplementsActionListener{publicvoidactionPerformed(ActionEvente){Colora=newColor(0,192,191);JColorChooserc=newJColorChooser();a=c.showDialog(Bjq.this,颜色选择框,a);aa.setForeground(a);}}(5)为鼠标创立监听器。用于用鼠标点击右键时出现快捷菜单:复制、粘贴、字体大小、字体颜色。文档仅供参考,不当之处,请联系改正。102020年4月19日popup=newJPopupMenu();JMenuItemcopy=newJMenuItem(复制);JMenuItemword=newJMenuItem(字体);publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmousePressed(MouseEvente){}publicvoidmouseReleased(MouseEvente){}当单击右键时能够弹出复制、粘贴和字体菜单,实现功能,实现鼠标的控制来完成弹出菜单的操作。(6)为窗体添加监听器当用户按关闭按钮时就能够将窗口关闭,实现了对窗体的控制。//关闭窗口protectedstaticfinalclassappCloseLextendsWindowAdapter{publicvoidwindowClosing(WindowEvente){System.exit(0);}f.setSize(800,500);f.setVisible(true);(这两个代码是设计窗体的的大小和窗口的可见性。)(7)设计main方法:为整个程序的开始提供了入口,publicstaticvoidmain(Stringargs[]){JFramef=newJFrame();文档仅供参考,不当之处,请联系改正。112020年4月19日Bjqapplet=newBjq();f.setTitle(08通信(2)班骆玉春设计的文本编辑器Bjq);f.setBackground(Color.red);f.getContentPane().add(applet,BorderLayout.CENTER);f.addWindowListener(newappCloseL());f.setSize(800,500);f.setVisible(true);f.pack();}为静态的主函数。三、测试效果1:两个菜单项:文件和编辑的截图:文档仅供参考,不当之处,请联系改正。122020年4月19日2:编辑菜单以及子菜单的截图:3:右键弹出快捷菜单的截图:文档仅供参考,不当之处,请联系改正。132020年4月19日4:新建并经过快捷键复制和设置字体颜色为红色的截图:文档仅供参考,不当之处,请联系改正。142020年4月19日5:保存文件并从保存到的目录下打开文件的截图:文档仅供参考,不当之处,请联系改正。152020年4月19日6:打开其它目录下的文件的截图:文档仅供参考,不当之处,请联系改正。162020年4月19日7:设置字体的大小和颜色的截图:文档仅供参考,不当之处,请联系改正。172020年4月19日四、设计体会文档仅供参考,不当之处,请联系改正。182020年4月19日Java语言是很神奇的一门课程,我喜欢编程。喜欢最后编完的一刹那的成功,自从我进了学校选择了通信专业后就更加喜欢了,更是备感Java的重要性,天天接触Java时,越来越着迷于它。特别是进行课程设计,我更加深刻体会到了Java的诡异,无法掌控,最后的程序虽没有实现所有功能,但也能够运行了,这次课程设计中我独立完成了程序的绝大多数部分,很开心。不过有太多不会,总是蒙一些东西。有些一知半解的东西还是不了解,有些东西是会用了,但对其工作原理却很模糊。这些都是以后在学Java用Java的路上需要解决的,Java的魅力真的让人着迷。在课程设计的过程我遇到了好多的麻烦,有些是自己的马虎,有些也是因为程序太长有时会出一些小的问题,都是自己不应该发生的。但有些是不能够避免的啊,因此说我们在进行Java课程设计的时候要认真仔细不要只图快,要认真每一个文档仅供参考,不当之处,请联系改正。192020年4月19日环节的输入,否则会给我们带来许多不必要的麻烦,因此要想做好一个好的完整的Java程序一定要有足够的耐心,只有这样你才会有好的结果,才会感觉到成功的喜悦,理解到认真和粗心的后果。总之,这次设计还是教了我很多,包括做人的道理,以及一些在平时生活中不可能遇见的一些问题,使我领略到一些人生道理,这些是在现实生活中难以解决的,下学期就要考二级,很想学好计算机,更想把Java掌握的更加熟练,因为它总能给我意外的收获,使我对人生有新的认识,让我感受到最后成功那一刻的美妙、开心!