《设计Java记事本程序的报告.docx》由会员分享,可在线阅读,更多相关《设计Java记事本程序的报告.docx(28页珍藏版)》请在第壹文秘上搜索。
1、Java语言程序设计汇报班级:08计科3班学号:19108312姓名:李云飞成绩:2023年1月6日简朴记事本程序的设计摘要本次课程设计的题目是用JAVA语言编写记事本程序,规定是:用图形界面实现;具有简朴的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保留、另存为、查找、替代等功能。本程序重要用到了JaVaSWing组件和事件监听器,还用到了文献的输入输出流。记事本的界面参照了WindoWS中日勺记事本界面,并且根据课程设计规定做了合适B调整。关键字:记事本程序;JaVa语言;JCreator序言JaVa的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被
2、用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1公布。1998年J2SE1.2公布,标志Java2的诞生。十数年来,JaVa编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系构造由JaVa语言、JaVaelass、JaVaAp1、JaVa虚拟机构成。它具有简朴、面向对象、强健、安全、构造中立、可移植和高效能等众多长处。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟H勺处理方案。JavaH勺平台原则有JaVaME,JaVaSE和JaVaEE。JaVa发展到今天,它的卓越成就及在业界H勺地位毋庸置疑
3、。目前在众多口勺支持JaVa的开发工具中重要欢J7有JaVaDeVeIOPnlenlKiI,NetBeans,Jcreator,JBuilder,JDCVeloPCr和ECliPSe等。其中JaVaDevelopmentKit简称JDK是大多开发工具的基础。以上的每种开发工具均有优缺陷,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等原因来选择一种合适的开发工具。在本程序设计中,由于需要开发的是记事本程序,规模较小,内容较少,因此选择了适合初学者使用的JCreator开发工具。1需求分析1.1 需求分析目前网络上多种文档编辑器数不胜数,有EmEditor,UEStudio,
4、GridinSoftNotepad,Notepad+,win32pad,SkimEdit,UniRed,xint。功能也是应有尽有,有能变化字体的,有能变化文字颜色的。不过,这些软件又存在多种各样的瑕疵或问题:有的文献体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从平常应用方面来说,一种文本编辑器只需某些简朴实用的功能就够了。本程序设计就是根据这样一种使用需要设计了一种简朴的记事本程序。1.2 功能设计本程序要构建FI勺记事本程序参照了Windows操作系统的记事木工具,其功能有如下几种方面:(1) .菜单中有“文献”,“编辑”,“有关”三个主菜单。(2) “文献
5、”有“新建”“打开”“保留”“退出”四个子菜单:分别用于新建文献,打开文献,保留文献,退出记事本。(3) “编辑”中有“剪切”“复制”“粘贴”“颜色”三个字菜单:用于剪切文字,复制文字,粘贴文字。增长了“颜色”子菜单来对文字的颜色进行设置。(4) “有关”菜单中有有关记事本程序的制作日期,作者等信息2.概要设计2.1 程序设计思绪在本程序中,设计了一种菜单栏和文本内容区。设计过程中用到了JSCroIIPane,JUenu,JTextPane,JFiIeehOOSer等。JMeml用来制作菜单,菜单包括“文献”“编辑”“有关”。JTeXlPane重要用来输入文本。为了加入颜色的设置,因此加了一种
6、JCOlorChOoSer组件。2.2模块阐明图ActionListenermynotepadJFrame在图1中,首先创立种名为mynotepad的!类并继承JFrame类作为最底层H勺容器。mynotepad在图2中,构造一种mynotepad类时要做三件事情,分别是初始化容器(initTextContent)初始化组件(initMenu%InitAboutDialog)x设置事件监听器。2.3程序流程图图32. 4程序有关阐明整个记事本分为2快:菜单栏和内容输入区。本程序中首先定义一种mynotepad类继承JFrame作为最底层容器。(1) .T。XtCOntent为程序文本输入区。(
7、2) .Menu为菜单栏。(3) .AboutDialog为有关对话框。(4).要想记事本完毕需求分析中对应的功能,还必须添加事件监听器。事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。本程序中ActListener实现了ACtionLiStener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。此外,还用来WindoWLiStener来监听处理容器关闭触发的事件,WindOWLiSlener继承了WindowsAdapter类并覆盖了WindowsClosing措施。3.程序详细设计与分析3.1.初始化组件initTextContent();initMenu();init
8、AboutDialog();3.2,构建菜单栏及其下拉菜单JMenumenus=newJMenunewJMenU(文献),newJMenu(编辑),newJMenU(有关”);JMenuItemoptionofmenu=newJMenuItemfnewJMenuItem(新建),newJMenuItem(打开),newJMenuItem(“保留),newJMenUlten(退出),newJMenuItem(复制),n。WJMCnUltCln(剪切),newJMenUIIen(粘贴”),newJMenuItem(颜色”),(newJMCnUIten(有关”);3.3.“文献”菜单的事件监听Act
9、ionListeneraction=newActionListenerOpublicvoidactionPerformed(ActionEvente)Stringname=e.getActionCommand();JMenuItemMT=(JMenuTtem)e.getSource();if(新建.equals(name)content.SetTeXt();file=null;elseif(打开”.equals(name)if(file!=nulDopenfile.SetSelectedFiIe(file);intreturnVal=openfile.ShowOpcnDialog(mynote
10、pad.this);if(reIurnVal=JFiIeChooser.APPR0VE_0PT10N)fiIe=Openfile.getSelectedFile();unfold();)elseif(保留.equals(name)if(file!=null)openfile.SetSelectedFile(file);intrcturnVal=openfile.ShowSaveDialog(mynotepad.this);if(returnVal=JFiIeChooser.APPROVE_OPTION)file=openfile.getSelectedFiIe();savingO;elseif
11、(退出”.equals(name)mynotepadf=newmynotepad();intS=JOptionPane.ShowConfirmDialog(f,退出?,退出JOptionPane.YESNOOPTION);3.4.“编辑”菜单日勺事件监听elseif(“剪切”.equals(name)content,cutO;elseif(复制.equals(name)content,copyO;elseif(粘贴.equals(name)content,paste();elseif(颜色.equals(name)color=JColorChooser.ShowDialog(mynotepad
12、.this,color);content.SetForeground(color);3 .5.异常处理在运行程序代码是有也许会产生异常状况或异常事件,为了防止这种状况,就需要在程序中用到JaVa异常处理机制。本程序中选用的异常处理机制是try,catcho捕捉处理异常的第一步是用try选定要监控的异常范围,try后跟随catch代码块。saving()tryFileWriterWritef=newFileWriter(file);Writef.write(content.gctText();Writef.closeO;catch(Exceptione)e.printStackTrace();v
13、oidunfold()try(FileReaderReadf=newFileReader(file);intlen=(int)file.IengthO;charbuffer=newcharlen;Readf.read(buffer,0,len);Readf.close();content.setText(newStringCbuffer);catch(Exceptione)e.PrintStackTrace();)4 .测试分析我的记事本程序文件编辑关于图4:点击“文献”运行状况图5:“文献”菜单中的“打开”对话框我的记事本程序V*文件褊辑关于1岳父母结婚三十年,互敬互爱,从不吵架,为此我结婚
14、时特地去请教岳父大人.岳父说:“我结婚时我岳父就告诉我:“不要批评你太太的缺点或怪她做错事,要知道,就是因为她有缺点,有时做错事,才没有找到更理想的丈=夫.”你要记住这句话-“_2有时候,你等的不是事情,机会,或是谁,你等的是时间。等时间,让自己忘记,等时间,让自己改变,放弃便是得到,forget-it=for-get-it3.1.痛苦来临时不要总问:“为什么偏偏是我?”因为快乐降临时你可没有问过这个问题。2.付出真心,才会得到真心,却可能饬的彻底;保持距离,才能保护自己,却注定永远寂寞.3.就苴不快乐也不要皴眉,因为你永远不知道谁会爱上你的笑容.4.哗众可以取宠,也可以失宠4能说出来的不是苦
15、,说不出来的才是真的苦4.两个男人追一个女人,用情i戋的那个先放弃;两个女人追一个男人,用情深的那个先放弃。6.生命是一个不停飘移的过程,你我所走过的每一个地方,每一个人,也许都将成为驿站,成为过客,一向喜欢追忆,喜欢回顾,喜欢不忘记.如今却发现,深刻在心里.那些东西早已在他们的时间里化成遗忘,不要让心太累,不要追想太多已不属于自己的人和事。7.慢慢才知道,太在乎别人了往往会伤害自己:慢慢才知道,对自己好的人会随着时间流逝越来越少;慢慢才知-一一一囹6;打菽版后文件WA关于1岳父母结婚三十年互盘互爱从不纱架,力就我结婚的仲培老浦故国父大人.需父说:“我给好时我岳父就密诉貌:“不要批仔你太太的疑亘或怪检做幡事,SQjfi,戟M因为飨有融直,有时做憎事,才没看找到更起招的丈夫”伊襄记住这句话.”2亶时候,你等的不是事修,机合,或是遭,你等的是时间W