文档详情

实验5 文本编辑器.doc

发布:2017-12-18约9.1千字共7页下载文档
文本预览下载声明
实验5 文本编辑器 实验目的: (l) 理解和掌握字节流的类以及它们的使用特点 ; (2) 理解和区分字节流和字符流 ; (3) 了解和运用字节流和字符流进行文件复制。 实验任务: 设计一个简单的文本编辑器 , 可以实现多文件处理、实现文件的创建、浏览、编辑 ( 允许文本复制、修改、删除 ) 、对己经修改的文件进行保存或以另外的文件名称保存。 实验步骤: 打开 Eclipse, 在己有工程 Chapter14.jpx 中 , 按照下列要求完成实验 : 要求 : 设计一个简单的文本编辑器 , 可以实现多文件处理、实现文件的创建、浏览、编辑 ( 允许对文件复制和修改 ) 、对己经修改的文件可以进行保存或以另外的文件名称保存。阅读和分析程序TextEditor.java, 见程序清单2-6,将程序中的|代码 1|~|代码 7|处补充完整 , 观察运行结果。 程序清单2-6 TextEditor.java //TextEditor.java import javax.swing.*; import java.awt.event.*; import javax.swing.event.*; import java.awt.*; import java.io.*; import javax.swing.text.Document; public class TextEditor extends JFrame{ JDesktopPane desktopPane; //定义菜单组件 JMenuBar menuBar; JMenu fileMenu,helpMenu;//定义文件菜单、帮助菜单 JMenuItem newItem,openItem,saveItem,othersaveItem,closeItem,exitItem; //定义文件菜单的:新建菜单项、打开菜单项、保存菜单项、另存菜单项、关闭菜单项、//退出菜单项 JMenuItem aboutItem;//定义帮助菜单的:关于菜单项 StringBuffer buffer=new StringBuffer();//定义一个字符串缓冲区; File currentFile;//当前处理的文件; int status;//记录当前状态0:新建、1:打开、2:保存、3:另存;4:关闭; DisplayFrame currentFrame;//当前打开的窗口 public TextEditor() { super(文本编辑器); Container container=getContentPane(); desktopPane=new JDesktopPane(); container.add(desktopPane); createMenu(); setJMenuBar(menuBar); } public void createMenu(){ //定义菜单条; menuBar=new JMenuBar(); //定义文件菜单 fileMenu=new JMenu(文件); //定义文件菜单的:新建菜单项、打开菜单项、保存菜单项、另存菜单项、关闭菜单 //退出菜单项 //定义新建菜单项 newItem=new JMenuItem(新建); newItem.addActionListener(new NewFileListener()); //定义打开菜单项 openItem=new JMenuItem(打开); openItem.addActionListener(new OpenFileListener()); saveItem=new JMenuItem(保存); saveItem.addActionListener(new SaveFileListener()); othersaveItem=new JMenuItem(另存为); othersaveItem.addActionListener(new OtherSaveFileListener()); closeItem=new JMenuItem(关闭); closeItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ if(e.getSource()==closeItem){ currentFrame.dispose(); } } })
显示全部
相似文档