首页 > 编程知识 正文

编写文本编辑器程序的代码(java做文本编辑器)

时间:2023-05-06 14:49:02 阅读:77224 作者:1036

不说废话直接上代码

import java.awt.*; 导入Java.awt.event.*; import javax.swing.*; 导入javax.swing.event.document event; import javax.swing.event.document listener; import javax.swing.plaf.fontuiresource; import javax.swing.text.document; import java.io.*; import java.util.Enumeration; publicclassjtextareatesterextendsjframeimplementsactionlistener { privatejbuttonbtnopen,btnSave,btnCopy,btnPaste,BTN custn 私密布尔身份验证; //文本已编辑的标签私有字符串文件=' '; //文件名privatefinalstaticstringapp _ name='简易文本编辑器'; 公共jtextarea tester () {super ) (app_name ); this.setsize (500,300 ); this.setdefaultcloseoperation (exit _ on _ close ); ta=new JTextArea (; ta.setlinewrap(true; //ta.setfont自动换行(newfont )、宋体)、Font.PLAIN,16 ) jcrollpanesp=newjscrollpane(ta; //如果需要,滚动条JButton btnOpen=new JButton ('打开文件); btnOpen.setActionCommand ('打开文件); JButton btnSave=new JButton ('保存文件); btnSave.setActionCommand (“保存文件”); JButton btnCopy=new JButton ('复制); btnCopy.setActionCommand ('复制); JButton btnPaste=new JButton ('粘贴); btnPaste.setActionCommand ('粘贴'); JButton btnCut=new JButton ('剪切); btnCut.setActionCommand ('剪切); JButton btnSelectAll=new JButton ('全选'); btnSelectAll.setActionCommand ('全选'); JButton btnClearAll=new JButton ('清空); btnClearAll.setActionCommand ('清空); 注册//组件的操作事件侦听器BTNopen.addactionlistener(this ); BTNsave.addactionlistener(this; BTN paste.addaction listener (this; BTN select all.addaction listener (this; JPanel panel=new JPanel (; //按钮在一个面板中显示flowlayoutlayout=(flowlayout ) panel.getLayout ); layout.sethgap(2; Panel.add(BTNopen ); Panel.add(BTNsave ); Panel.add(BTNcopy; Panel.add(BTNpaste ); Panel.add(BTNcut; panel.add (BTN选择全部; Panel.add(BTNclearall; this.add(sp,' Center '; this.add (面板,' South ' ); //文本框文档中的文档查看器Document doc=ta.getDocument ); doc.adddocumentlistener (newdocumentlistener ) (publicvoidchangedupdate (documente vente ) (publicvoidinsertupdate ) ) ) 修改标志istextmodified=设置true//修改标志设置(publicvoidremoveupdate (文档事件) settitle ) app_name'-'file ' ) ) } publicvoidactionperformed (actionevent e ) {String cmd=e.getActionCommand ); if(cmd.equals ('打开文件) ) (/文本文件StringBuffer sb=new StringBuffer ) ); try { bufferedreaderbr=newbufferedreader (new filereader ('学校简介. txt ' ); String str=br.readLine (; 威尔(str!=null(sb.append(str'n ' ); str=br.readLine (; }br.close (; ta.settext(sb.tostring ) ); this.settitle(app_name'-'file ); //表单标题初始化isTextModified=false; //重置修改标记(catch(exceptionE1) ta.settext (E1.getmessage ) ); }elseif(cmd.equals )保存文件((/保存文本)//TODO:保存文件的代码this.settitle ) app_name'-'file ); //重置表单标题isTextModified=false; //保存后修改}elseif(cmd.equals“复制”) {ta.paste ); }//初始化全局字体privatestaticvoidinitglobalfont () fontuiresourcefontuiresource=newfontuiresource (new font ),font.) keys.hasMoreElements (; ({Object key=keys.nextElement ); objectvalue=uimanager.get(key ); if (valueinstanceoffontuiresource ) uimanager.put ) key,fontuiresource; } } publicstaticvoidmain (字符串[ ] args ) {initGlobalFont ); //初始化全局所有字体jtextareatesterfrm=newjtextareatester (; FRM.setvisible(true; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。