day22/MyMenuTest.java

来源:互联网 发布:写轮眼隐形眼镜淘宝 编辑:程序博客网 时间:2024/06/06 08:48
/*练习:打开文件,保存文件 弹出的会话窗口FileDialog openDialog=new FileDialog(f,"我要打开",FileDialog.LOAD);//第三个参数是加载FileDialog saveDialog=new FileDialog(f,"我要打开",FileDialog.SAVE);//第三个参数是保存*/package mymenu;import java.awt.*;import java.awt.event.*;import java.io.*;public class MyMenuTest {private Frame f;private MenuBar bar;private Menu fileMenu;private MenuItem openItem,saveItem,quitItem;private FileDialog openDialog,saveDialog;private TextArea ta;private File file;MyMenuTest(){init();}public void init(){f=new Frame("我的电脑");f.setBounds(300,200,600,500);ta=new TextArea();f.add(ta);bar=new MenuBar();fileMenu=new Menu("文件");openItem=new MenuItem("打开");saveItem=new MenuItem("保存");quitItem=new MenuItem("退出");bar.add(fileMenu);fileMenu.add(openItem);fileMenu.add(saveItem);fileMenu.add(quitItem);f.setMenuBar(bar);openDialog=new FileDialog(f,"我要打开",FileDialog.LOAD);saveDialog=new FileDialog(f,"我要保存",FileDialog.SAVE);myEvent();f.setVisible(true);}public void myEvent(){//打开本机中的文件到Frame中的组件TextArea中openItem.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){openDialog.setVisible(true);//弹出的对话框要设置为可见String dirPath = openDialog.getDirectory();String fileName = openDialog.getFile();//System.out.println(dirPath+"---"+fileName);if (dirPath==null||fileName==null)return;ta.setText("");file = new File(dirPath,fileName);try{BufferedReader bufr = new BufferedReader(new FileReader(file));String line=null;while((line=bufr.readLine())!=null){ta.append(line+"\r\n");}bufr.close();}catch (Exception ex){throw new RuntimeException("读写失败");}}});//保存TextArea中的内容到本机文本中saveItem.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(file==null){saveDialog.setVisible(true);String dirPath=saveDialog.getDirectory();String fileName=saveDialog.getFile();if(dirPath==null||fileName==null)return;file=new File(dirPath,fileName);}try{BufferedWriter bufw = new BufferedWriter(new FileWriter(file));String text = ta.getText();bufw.write(text);bufw.close();}catch (Exception ex){throw new RuntimeException("写入失败");}}});quitItem.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public static void main(String[] args) {new MyMenuTest();}}

0 0
原创粉丝点击