《文本编辑器设计实现模板.docx》由会员分享,可在线阅读,更多相关《文本编辑器设计实现模板.docx(22页珍藏版)》请在第一文库网上搜索。
1、软件学院课程设计汇报书课程名称设计题目文本编辑器的设计与实现专业班级XXXXXXXXXxX学号mm姓名XXX指导教师2023年11月1设计时间2023年11月2设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、措施和基础知识的理解,掌握使用JaVa语言进行面向对象设计的基本措施,提高运用面向对象知识分析实际问题、处理实际问题的能力,提高学生的应用能力。目前文本编辑器种类诸多,所提供的功能也诸多,不过能满足顾客实现多种功能和进行JaVa的编译与运行很少,不能更好的适应目前顾客的规定
2、。本设计所完毕的文本编辑器功能是针对学习Java程序语言,因此我们运用Java程序设计虚拟机和软件对顾客和使用者的应用过程形成一整套完整的编写代码,编译,运行。3设计任务文本编辑器的设计与实现:设计一种类似于WindOWS记事本(WtePad)的JaVa程序。可以打开、新建、保留一种文本文献;对选中的文本进行多种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、豆制、粘贴、剪切、查找、替代等):在文本中可以插入对象。4设计内容4.1需求分析需求分析的任务是确定功能必须完毕的工作,也就是对目的系统提出完整、精确、清晰、详细的规定。简朴文本编辑器提供应顾客基本的纯文本编辑功能,可以将顾客录入
3、的!文本存储到当地磁盘中。可以读取磁盘中既有的纯文本文献,以和以便顾客进行需要的编辑功能。文献操作可以实现新建、保留、打开文档等,编辑操作能过实现文本的剪贴、复制、粘贴等,格式操作能过实现字体设置、背景等,协助操作可以实既有关主题的查看等功能。4.2概要设计4.2.1程序基本功能概括功能架构图4. 2.2程序重要组件概括1 .基本的Frame框架:2 .菜单:3 .打开文献对话框;4 .保留文献对话框:5 .颜色对话框;6 .Choice下拉列表,运来实现字体设置;7 .简朴的协助框架。4.3详细设计4.3.1文献打开与保留文本编辑器的保留和打开功能的实现用文献对话框和输入输出流来完毕。先建立
4、打开和保留对话框,在PUbIiCvoidactionPerformed(ActionEvente)里分别用()和()措施实现保留和打开.(this,“保留文献对话框,);(fa1se);(this,”保留文献对话框”,);(fa1se):(newWindowAdapter0pub1icvoidwindowC1osing(WindowEvente)(fa1se):(newWindowAdapter()pub1icvoidwindowC1osing(WindowEvente)(fa1se):pub1icvoidactionPerformed(ActionEvente)if(e.getSourceO
5、=itemSave)(true);if(O!=nu11)try(to(fi1e);out=newBufferedWriter(tofi1e):out.write(area.getText0,0,(area.getText().1engthO);out.c1oseO;toO;catch(IOExceptione1)e1seif(e.getSource()=item1oad)(true);area.setText(nu11);Strings;if()!=nu11)try(fi1e);in=newBufferedReaderO:whi1e(s=in.read1ine()!=nu11)area,app
6、end(s+n,);in.c1oseO;catch(IOExceptione1)4.3.2字体,字形,字体大小的设置文本编辑器要实现对字体的设置,选用了GraphicsEnvironment对象调用String口getAvaiIab1eFontFamiIyNamesO措施,该措施可以获取计算机上所有可用的字体名称,并寄存到字符串数组中。Choice1ist;GraphicsEnvironmentge=GraphicsEnvironment.get1oca1GraphicsEnvironment();StringfontName=ge.getAvaiIab1eFontFamiIyNamesO:p
7、ub1icvoiditemStateChanged(ItcmEvente)Stringname=1ist.getSe1ectedItem();Fontf=newFont(name,Font.P1AIN,15);area.setFont(f);e1seif(e.getSourceO=item8)设置字形(常规,倾斜,加粗)Fontfont=area.getFont();intsty1e=font.getSty1e();Sty1e=Sty1eO:area.setFont(newFont(*,sty1e,font.getSize();e1seif(e.getSource()=item9)Fontfo
8、nt=area.getFont();intsty1e=font.getSty1e();sty1e=sty1e2;area.setFont(newFont(”,sty1e,font.getSize():e1seif(e.getSource()=item1)Fontfont=area.getFont();intsty1e=font.getSty1e();Sty1e=Sty1e*1;area.setFont(newFont(”,sty1e,font.getSize():e1seif(e.getSourceO=item11)设置字体大小Fontfont=area.getFont();intsty1e=
9、font.getSty1e():area.setFont(newFont(font.getNameO,sty1e,12);e1seif(e.getSource()=item12)Fontfont=area.getFont();intsty1e=font.getSty1e();area.setFont(newFont(font.getNameO,sty1e,24);e1seif(e.getSourceO=item13)Fontfont=area.getFontO;intsty1e=font.getSty1e();area.setFont(newFont(font.getName(),sty1e,
10、36);4.3.3剪切,复制,粘贴设置文本编辑器中有关剪切,复制,粘贴功能的实现选用处理JTeXtArea口勺DocumentEvent事件,通过area.cut()area.copyOarea.pasteO措施,点击“编辑”中对应菜单项可以选择将文本区中选中的内容剪切,复制,粘贴。pub1icvoidChangedUpdate(DocumentEvente)Strings=aiea.getText();pub1icvoidremoveUpdate(DocumentEvente)ChangedUpdate(e);pub1icvoidInsertUpdate(DocumentEvente)Cha
11、ngedUpdate(e);pub1icvoidactionPerformed(ActionEvente)e1seif(e.getSource()=item2)area,cutO;e1seif(e.getSource()=item3)area,copy();e1seif(e.getSourceO=item4)area.pasteO;插入子菜单,删除子菜单,创立格式菜单和其菜单项JMenuIteminsertItem=newJMenUItem(插入文本(K)”);insertItern.SetMnemonic(,K,);edItMenu.add(insertItern);insertitem.a
12、ddAction1istener(newAction1istenerOpub1icvoidactionPerformed(ActionEventevent)JPane1insertPane1=newJPane1():J1abe1insert1abe1=newJ1abe1(“要插入I内内容”);JTextFie1dinputText=newJTextFie1d(IO);insertPane1.add(insert1abe1);insertPane1.add(inputText);JOptionPane.ShowMessageDia1og(nu11,insertPane1);intfromInde
13、x=disp1ayText.getCaretPosition();获得目前的光标位置disp1ayText.insert(inputText.getTextO,from1ndex):JMenuItemRCmoVe1tem=newJMenuItem(删除(G)”);RemoveItem.SetMnemonic(G);editMenu.add(RemoveItern);RemoveItern.HddAction1istener(newAction1istener()pub1icvoidactionPerformed(ActionEvente)intstart=disp1ayText.getSe1e
14、ctionStart();intend=disp1ayText.getSe1ectionEnd();disp1ayText.repIaceRange(nu11,start,end);editMenu.addSeparator();bar.add(editMenu)jaddeditMenuJMenuformatMenu=newJMenu(“格式(R)”);formatMenu.SetMncmonic(R);4. 3.5创立,添加协助菜项JMenuheIpMenu=newJMenu(协助(H)”);he1pMenu.SetMnemonic(H);JMenuItemhe1pitem=newJMenu
15、Itern(协助主题(H).);he1pitem.SetMnemonic(,H,);he1pMenu.add(he1p1tcm):he1p1tcm.addAction1istener(newAction1istenerOpub1icvoidactIonPerformed(ActionEventevent)JTextAreahe1pText=newJTextArea(JScro11Panescro11er=newJScro1!Pane(he1pText);JOptionPane.ShowMessageDia1og(nu11,scro11er);bar.add(heIpMenu);添加4.4设计成果4.4.1运行界面图2文本编辑器主界面图3文本编辑器编辑界面图4文本编辑器文献界面图5文本编辑器格式图6文本编辑器查找界面图7文本编辑器协助界面图8文本编辑器字体名称界面图9文本编辑器字体风