第1页共9页目录0.前言...........................................................................................................................................................21.需求分析...................................................................................................................................................22.功能设计...................................................................................................................................................33.程序设计思路...........................................................................................................................................34.总体设计...................................................................................................................................................31)程序运行界面........................................................................................................................................32)模块说明图............................................................................................................................................35.程序流程图...............................................................................................................................................46.程序详细设计与分析...............................................................................................................................57.异常处理...................................................................................................................................................78.测试分析...................................................................................................................................................89.结束语.......................................................................................................................................................9第2页共9页简单记事本设计摘要:本文利用面向对象的程序设计语言Java来实现简单记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置,主要用到了Javaswing和事件监听等。关键字:记事本;面向对象;Java;Jcreator0.前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Javaclass、JavaAPI、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有JavaME,JavaSE和JavaEE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有JavaDevelopmentKit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中JavaDevelopmentKit简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。在本文设计中,开发的是记事本程序,规模较小,内容较少,所以选择使用了JCreator开发工具。1.需求分析现在网络上各种文档编辑器种类繁多,有EmEditor,UEStudio,GridinSoftNotepad,Notepad++,win32pad,SkimEdit,UniRed,xint。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。第3页共9页2.功能设计本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:1)菜单中有“文件”,“编辑”,“关于”三个主菜单。2)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。3)“编辑”中有“剪切”“复制”“粘贴”“颜色”三个字菜单:用于剪切文字,复制文字,粘贴文字。增加了“颜色”子菜单来对文字的颜色进行设置。4)“关于”菜单中有关于记事本程序的制作日期,作者等信息。3.程序设计思路在本文中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。4.总体设计1)程序运行界面2)模块说明图在图1中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。第4页共9页在图2中,构造mynotepad类时要做三件事情,分别是初始化容器(initTextContent)、初始化组件(initMenu、initAboutDialog)、设置事件监听器。5.程序流程图整个记事本分为2快:菜单栏和内容输入区。本程序中首先定义一个mynotepad类继承JFrame作为最底层容器。1)Textcontent为程序文本输入区。2)Menu为菜单栏。3)AboutDialog为关于对话框。4)要想记事本完成需求分析中相应的功能,还必须添加事件监听器。事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。本程序中ActListener实现了ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。另外,还用来WindowListener来监听处理容器关闭触发的事件,WindowListener继承了第5页共9页WindowsAdapter类并覆盖了WindowsClosing方法。6.程序详细设计与分析1)初始化组件initTextContent();initMenu();initAboutDialog();2)构建菜单栏及其下拉菜单JMenu[]menus=newJMenu[]{newJMenu(文件),newJMenu(编辑),newJMenu(关于)};JMenuItemoptionofmenu[][]=newJMenuItem[][]{{newJMenuItem(新建),newJMenuItem(打开),newJMenuItem(保存),newJMenuItem(退出)第6页共9页},{newJMenuItem(复制),newJMenuItem(剪切),newJMenuItem(粘贴),newJMenuItem(颜色)},{newJMenuItem(关于)}};3)“文件”菜单的事件监听ActionListeneraction=newActionListener(){publicvoidactionPerformed(ActionEvente){Stringname=e.getActionCommand();JMenuItemMI=(JMenuItem)e.getSource();if(新建.equals(name)){content.setText();file=null;}elseif(打开.equals(name)){if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showOpenDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();unfold();}}elseif(保存.equals(name)){if(file!=null)openfile.setSelectedFile(file);intreturnVal=openfile.showSaveDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();saving();}}elseif(退出.equals(name)){mynotepadf=newmynotepad();ints=JOptionPane.showConfirmDialog(f,退出?,退出,JOptionPane.YES_NO_OPTION);第7页共9页4)“编辑”菜单的事件监听elseif(剪切.equals(name)){content.cut();}elseif(复制.equals(name)){content.copy();}elseif(粘贴.equals(name)){content.paste();}elseif(颜色.equals(name)){color=JColorChooser.showDialog(myno