欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    java实验文本编辑器.docx

    • 资源ID:1463359       资源大小:37.73KB        全文页数:13页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java实验文本编辑器.docx

    考查报告课程名称:.iava试验姓名:学号:SUPer("记事本”);标题创建菜单条JMcnuBiirbar=newJMenuBarO:SetJMenuBar(bar);/设置文件菜单及其菜单项JMenu=neJMenu("文件(F)”);(,F,);/设置新建菜单项JMenuItemnewItern=newJMenuItom("新建(N)*);newItern.SetMnemonic('N');(newItem);newItom.addAction1.istcner(newAction1.istenerOpublicvoidactionPerformed(ActionEventevent)IdisplayText.setText;);/设置打开菜单项JMenullemopenItem三newJMenuIten("打开(0)”);open!tem.SetMnemonic(,O');(openItorn);openItcm.addActionl.istener(newAction1.istenerOpublicvoidactionPerfo11ned(ActionEventevent)fd.SetTit1。("打开"):设置标题fd.showO;if(fd.getFile()!=null)=new();/用从fd中取得的文件建立新文件,即打开的文件JisplayText.setText(*");try(f=new(file):BufferedReaderb=newBufferedReader(f);/按行读打开的文件,然后传入文本域Strings;try(WhiIe(s=b.readlJne()!=null)<lisplayText.append(s+"r);将给定文本追加到文本域的当前文本(即把读的内容加入文本域)f.close();b.close();)catch(IOExceptionex)catch(ex)elsereturn:):0:/加分隔线/设置保存菜单项JMcnuItcmsaveItem=newJMenuItem("保存(三)”);saveltom.SetMnemonic('S'):(saveItem);saveItern.addAction1.istener(newAction1.istenerOpublicvoidactionPerfo11ned(ActionEventevent)fd.setKile(,*.java");fd.setMode();fd.SetTitIer保存"):f<l.show():if(d.ellile()!=null)=newO);try(PrinlWrilerpw=newPrintWiiter(file);pw.print(displayText.getText():这部分用于把textAreal中的内容打印到PH,指定的文件file中去,file围在对话框中选定的文件pw.flushO;刷新该流的缓冲,然后关闭该流pw.close():)catch(ex)ex.printStackTrace();)elsereturn:):设置另存为菜单项JMenuItemSaVeASllem=nevJMenuIIem("另存为(Z)”);SaveAsItem.SetMnemonic('7');(SaveAsItem):SaveAsItem.addAction1.iStener(newAction1.istenerOpublicvoidactionPerfo11ned(ActionEventevent)fd.setFile(*.java*):fd.sotMode():fd.SetTiIler另存为”);fd.showO:if(fd.gctFile()!=nul1)-new():try(PrintWriterpw=newPrintMTiteNfilehpw.print(displayTcxt.getText();这一部分用于把textAreal中的内容打印到pw指定的文件file中去,file困在对话框中选定的文件pw.flush();/刷新该流的级冲,然后关闭核流pw.close();)catch(lionex)ex.PrintSlackTraceO;)elsereturn:);O;加分隔线/设置退出菜单项JMenuItemexitItem=newJMenuItcm("退出(X)"):exi11tern.SetMnemonic(',):(exitIIem);exitItern.addction1.istoner(newAction1.istenerOpublicvoidactionPerformed(ActionEventevent)(System.exit(O):);bar.add():创建编辑菜胞及其菜单项JMenueditMenu=newJMenu(编辑(E)”):editMenu.SetMnemonic('E,);剪切菜单选项JMenuItomcutltem=newJMenuItom("剪切(T)”);CulItetB.SetMnemonic(,T,);editMenu.add(cutItem);cutItem.addction1.istcner(newAction1.istenerO(publicvoidactionPerformed(AclionEvenlevent)*SelectText=displayText.getSelectedText();取得选定的文本intstart-displayText.getSelectionStart():/选定的文本的起先位附intend-displayText.getSelectionEnd()ji定的文本的结束位置displayText.replaceRange("”,start,Cnd):/*用指定替换文本替换指定起先位置及结束位置之间的文本。这里指定替换文本为空,即为剪切了文本*/):纪制菜单选项JMenuItemcopyItem=newJMenuItem("复制(C)”):copyItem.selMnmonic('C,);editMenu,add(copyItern);copyItom.addction1.istencr(newAction1.istener()publicvoidactinPerformed(ActionEventevent)(SelectText-displayText.getSelectedTextO;获得选中的内容,并保存在SclectText里粘贴的实现JMonuItempasteltom=newJMenuItera("粘贴(P)”):PasleIleiii.SetMnemonic('P");editMenu,add(pasteltem):pasteitem.addAction1.istencr(newAction1.istenerOpublicvoidactinPerformed(ActionEventevent)(intposition=displayText.getCaretPositionO;获得鼠标当前位置displayText.insert(solectText,position);/插入到鼠标当前位置):editMenu.addSeparator();加分隔线替换的实现JMcnuItcmS=newJMenuItem("替换<R)"):s('R,):editMenu.add(三);s(newAction1.istenerOpublicvoidactionPerformed(ActionEvontevent)(JPanelsJPanelO;J1.abel100kUP1.abeI=newJ1.abeI("要杵换的内容");JTextFieldinputText=newJTextField(IO):J1.abelSJ1.abel("替换为:*);JTextFieldchangetoText=newJTextField(IO);S(100kup1.abel);s(inputText):s(三);s(changetoText):JOptionPanc.ShOWMeSsag。DialOg(nulI,s):Stringtext=displayText.getText():/获得整个文本内容StringChangeTeXt=text.rcplaccFirst(inputText.getText(),changctoTcxt.getTextO);获得替换后的内容displayText.SeITeXl(CharlgeText);):全部替换的实现JMenuItemas=newJMenuItem("全部杵换(Q)");as('Q');editMenu.add(as);as(newAction1.istenerOpublicvoidactionPerformcd(ActionEvcntevent)(JPanelsJPanel();J1.abel100kUP1.HbeI=ne*J1.abel("要替换的内容”);JTextFieldinputTcxt=newJTextField(IO):J1.abelsJ1.abeIr替换为:"):JTextFieldChangeI。TeXl=newJTextField(IO);S(100kup1.abel);s(inputTcxt):s(三);s(changetoTexl);JOptionPane.ShoUNeSSageDiaIOg(nulI,s);Stringtext=displayTcxt.getText();获得整个文本内容StringChangeTeXt=text.replaceAl1(inputText.getTextO,ChangetoText.getText():/获得替换后的内容displayText.SetTeXt(ChangeTeXt);):editMenu.addSeparator();加分隔线插入子菜单JMenuIteminsertItem=newJMenUItem("插入文本(K)”);insertItom.SetMnemonicCK,):OtlitMenu.add(insertItern):insertI1.em.<uldAclion1.islener(newAction1.istenerO(publicvoidactiOnPerformcd(ActionEventevent)JPanelinsertPanol=newJPanel();J1.abelinSerl1.abeI=newJ1.abe1("要插入的内容;JTextFieldinputText-newJTextField(IO):insertPanel.add(insert1.abel):insertPanel.add(inputText):JOplionPiine.ShOWMeSSageDial<用(null,insertPanel);intfromlndex=displayText.getCaretPosition();取得当前的光标位置displayToxt.insert(inputText.getText(),fromlndex):):删除子菜单JMenuItemRemoVeIIem=newJMenUllem("跑除(G);RemoveIteni.SetNnemoniC('G');editMcnu.add(RemoveItern):KemoveItem.addctiOn1.istener(newAction1.istenerO(publicvoidactionPerformed(ActionEvente)intstart=displayToxt.getSelectionStart():intend=displayToxt.getSelectionEnd():<lispkyText.FeplaceRange(null,start,end););editMenu.addSeparator():bar.add(editMenu);/addeditMenu/创建格式菜单及其菜单项JMenuformatMenu=newJMenu("格式(R)”):ormatMenu.SetMriemonic('R'):/自动换行的功能切换JMcnuItemchangeltom=newJMcnuItom("自动换行(W)”);changeitem.SotMnemonic(,W');formatMenu.add(Changellem);changeItem.addAction1.iStener(newAction1.istenerObooleanvar=false;publicvoidactionPerfomed(ActionEventevent)(if(var)Var=false;elsevar=true;displayText.Set1.ineWrap(var);):/颜色菜单项Stringcolors="黑色"蓝色:"红色"绿色");JMenuColorMenu=newJMenu("颜色(C)*);ColorMenu.SetMnemonic('C');ColorItems-newJRadioBUttOnMenUItCmcolors.length1;ColorGroup=newBultonGroupO;ItemHandleritemllandler=newItemHandlerO;/创建颜色按钮监听器for(intcount=O;count<colors,length;count+)colorlternscount=newJRadiOBUtIonMenuItem(colorscount):colorMcnu.add(colorltemscount):CoIorCrOUP.add(colorltemscount):colorlternscount.<ddction1.isIener(iIeinllandler);)/钛认颜色colorltomsO.setSelected(true):/将颜色菜第顶菜单加入菜单formatMenu,add(colorMcnu);formatMenu.addSeparator():/加分隔线/字体菜单项JMenuontMenu=newJMenu("字体(n)");fontMenu.SetMnemonic('n,);fonts=newJRadioBu11onMcnu11cmfontNamcs.length;fontGroup=newButtonGroupO:/创建字体按钮监听器for(intcount=O;count<fonts,length;count+)fontscount=newJRadioButtonMCnUItem(fontNamescount):fontMenu.add(fontscount);onlGroup.add(fontscount);fontscount.addActiOn1.istener(itemllandler);/默认字体fonls0.setSelected(true);fontMenu.addSeparator();/设置风格菜单StyleItems=newJCheckBoxMenu11emStyleNames.length:for(inicount=0;count<SlyleNamesJenglh;count+styleltemscount=newJChcckBoxMenuItcm(StyleNamcscount);fontMenu.add(styleItelnSfcount);StyleliandlerStyleHandler=newStylelIandlerO;styleltemscount.addItem1.istener(StyleHandler);formalMenu,add(fontMenu);bar.add(ConnalMenu);创建查找菜单JMenuSearchMenu-newJMenu("查找(三)*);searchMenu.SelMnemonic('H');bar.add(searchMenu);/添加创建帮助菜单JMenuheIpMenu=newJMenU(A'楮助(三)”);heIpMenu.SetMnemonic(,H,);/设置“关于(八).”菜单项JMenuItemaboutIIem=newJMenuIIem("关于(八).");aboutItern.SetMnemonic(',);heIpMcnu.add(aboutItem);aboutItem.addActIon1.istener(newAction1.islenerOpublicvoidactionPerformed(ActionEventevent)J0ptionPanc.ShowMessagcDia1og(Notepad,this,“文本编辑器”,"关于",JOptionPane.P1.AINMESSAGE):rowNumber=displayText.getRows();JOptionPanc.ShowMessagcDia1og(nu11,rowNumber):);添加帮助菜单项JMenuItcmhelpltom=newJMenuItem("帮助主题(三)."):helpitem.SetMnemonic(');heIpMenu.add(helpltem):help!tcm.addction1.istoner(newAction1.istenerO(publicvoidactiOnPerforined(ActionEventevent)JTextAreahelpText=newJTextArea(“格式里的自动换行说明:单击次切换功能n只能实现整个文本的风格,字体等的设置n"+"反制,粘贴可以实现插入到融标当前位置n标巡栏显示行数”);JScrollPancscroller=newJScrolIPane(helpText);JOptionPane.ShOWMeSSageDiaIog(nul1,scroller);):bar.add(heIpMenu);/添加设苴字体选项面板初始化字体大小数组for(inti=0:i<size.length:i+)sizeStringi=""+(i+12)2:sizei=(i+12)*2;)Containercontainer=getContentPane();container.SetIWyoUt(newBorder1.ayout():/设置面板显示文本displayText=newJTextArcaO:displayText.SetForeground(colorvaluosO);displayText.setlront(newEont("Serif”,Font.P1.AIN,24);/设置默认字体scrol1=newJScrollPano(displayText,JScrollPane.VERTICA1._SCK0l.1.BAR_ASNEEDED,JScrollPane.HORIZONTA1.SCRO1.1.BARA1.WAYS);container.add(scroll,Border1.ayout.CENTER):displayText.addKey1.istener(/通过对displayText注册键盘事务来获得当前文本的行数newKey1.istenerO(publicvoidkeyPressed(KeyEventevent)rowNumber-displayText.get1.ineCCUnt();获得文本区的函数SeITilIec总共"+rowNumber+"行”);设置标题)publicvoidReyReleased(KeyEventevent)/空)publicvoidkeyTyped(KeyEventevent)/空);setSize(700.500);setVisible(true);主函数publicstaticvoidmain(Stringargs)Notepadappication=newNotepadO:application.SetDefaultcioseOperiitin(JFrame.EXITONC1.OSE);字体和颜色监听器privateclassItemUandlerimplementsAction1.istenerpublicvoidacIiOnPerforined(AclionEvenlevent)/颜色for(intcount=0;count<colorlterns,length:count+)if(colorlternscount.isSelected()displayText.SetForeground(coIorvaluesEcount);break;)/字体for(intcount=O;count<fonts,length:count+)if(event.getSorce()=fontscount)displayTcxt.setFont(newFont(fontscount.getText(),style,72):break;)repaint();privateclassStyleHandlerimplementsItcm1.istener/处理字体风格选项publicvoiditemStateChanged(ItemEvente)style=0:if(SIyIeIlems01.isSelected()style+三Font.BO1.D:if(styleltems1J.isSelected()style+=Font.ITA1.IC;UispluyText.SetFont(newFont(displayText.getFont0.getName(),style,72);repaint():)运行界面:03cmd-快®-javaNotepad-11S3C:windowssysten32>f:Pz>caJavuJc-不是内部或外部命令,也不是可运行的程序或批处逋女件.F三>cdJavauJF:XjavawJ>javacNotepad.Java注薪Notepad.Java使用或嫣了已过时的”1。iiS«要了解洋为信息,ii三fi-Xlints<lP*c*tIon重新编诺.F:javawJ>javaMotepadHOsNdF:JavawJ>JavacNotepad.JavaO«NotepadJava使用或凛羞了已过时的API0汪也要了解详当信息,请购filed.preCaWn篁新编迂.F:)AvawJ>JavaHotepadF三J*v*wJ>Jv*Notepad照我(E)格式(B)格式(R)查钱S鼾的出)剪钥(D自动换行世0史制©籁色<£>>站鳍(P)学体(Q),东体替程(B)。华文行精全部替Ift(Q)。隶书插入文本的CBoId删除)!take四、心得体会(描述在开发过程中遇到的问题、解决过程等)1.漏写或错写字母,漏写或错写程序语句,就会出现找不到符号的问题解决过程:仔细检杳源程序,可利用Word的杳找功能,最好用EdiIPIUS编写程序,因为这样可以降低错误率。2 .指定的类不存在解决过程:主要看类的名称和路径是否正确即可。3 .方法声明无效:须要返回值解决方法:public后应当用PUbliCCIaSS后的名字”

    注意事项

    本文(java实验文本编辑器.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开