实验5 文本编辑器.doc
文本预览下载声明
实验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();
}
}
})
显示全部