JAVA实验报告五
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JA V A实验报告五
课程名称:java语言程序设计
实验题目:输入输出流实验
实验地点:东1-202
专业年级:软件工程2005级
实验时间:11月22日上午
实验目的:
掌握使用适当的输入输出流进行字节或字符数据的读出和写入。
实验要求:
编写程序,实现文本编辑器。具体要求为:
①在窗口上放置一个菜单条和一个文本区,文本区可编辑。
②菜单条中有一个菜单“编辑”,在该菜单下有三个菜单项“打开”、“保存”、“退出”,其中“退出”菜单项与前两项间有分隔线。
③点击“打开”菜单项,弹出一个文件打开对话框,在该对话框中选择或输入被打开文件名后,该文件内容就显示在窗口的文本区中。若被打开文件不存在则在文本区中显示出错信息。
④点击“保存”菜单项,弹出一个文件保存对话框,在该对话框中选择保存的路径并输入保存的目标文件名(若该文件不存在则创建新文件),将文本区的内容保存到目标文件中。
⑤点击“退出”菜单项,退出应用程序的执行。
实验程序:
package myclass;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import com.sun.tools.hat.internal.parser.Reader;
public class txt extends JFrame implements ActionListener
{
JTextArea ta;
JMenuItem open,save,myexit,open1,save1;
JMenuBar mb;
JPopupMenu popm;
JScrollPane sp;
public void createmenu()
{
mb=new JMenuBar();
JMenu m1=new JMenu("编辑");
mb.add(m1);
open=new JMenuItem("打开");
open.addActionListener(this);
save=new JMenuItem("保存");
save.addActionListener(this);
myexit=new JMenuItem("退出");
myexit.addActionListener(this);
m1.add(open);m1.add(save);m1.addSeparator(); m1.add(myexit);
popm=new JPopupMenu ();
open1=new JMenuItem("打开");
open1.addActionListener(this);
save1=new JMenuItem("保存");
save1.addActionListener(this);
popm.add(open1);popm.add(save1);
ta.add(popm);
ta.addMouseListener(new MyMouseEvent(this));
}
class MyMouseEvent extends MouseAdapter
{
txt myparentFrame;
MyMouseEvent ( txt t)
{
myparentFrame=t;
}
public void mouseReleased(MouseEvent e)
{
if(e.isPopupTrigger())
myparentFrame.popm.show((Component)e.getSource(),e.getX(),e.getY()); } }
public txt ()
{
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
});
ta=new JTextArea(10,20);
add(ta,BorderLayout.CENTER);
Panel p1=new Panel();
add(p1,BorderLayout.SOUTH);
setVisible(true);
setSize(400,400);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); int w = getSize().width;
int h = getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
setLocation(x,y);
createmenu();
setJMenuBar(mb);
sp = new JScrollPane(ta);
getContentPane().add(sp);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="打开")
try
{
openfile();
}
catch(IOException ex){}
if(e.getActionCommand()=="保存")
{
try {
savefile();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if(e.getActionCommand()=="退出")
{
dispose();
System.exit(0);