package myMenu;

import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class MyMenu {
	private Frame f;
	private MenuBar mb;
	private Menu m;
	private TextArea ta;
	private MenuItem openItem,saveItem,closeItem;
	private FileDialog openDia,saveDia;
	private File file;
	MyMenu()
	{
		init();
	}
	public void init()
	{
		f=new Frame("my window");
		f.setBounds(300, 100, 650, 600);
		f.setVisible(true);
		mb=new MenuBar();
		ta=new TextArea();
		m=new Menu("文件");
		openItem=new MenuItem("打开");
		saveItem=new MenuItem("保存");
		closeItem=new MenuItem("退出");
		
		m.add(openItem);
		m.add(saveItem);
		m.add(closeItem);
		mb.add(m);
		
		myEven();
		openDia=new FileDialog(f,"我要打开",FileDialog.LOAD);
		saveDia=new FileDialog(f,"我要保存",FileDialog.SAVE);
		f.setMenuBar(mb);
		f.add(ta);
	}
	
	private void myEven()
	{
		openItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				openDia.setVisible(true);
				String dirPath=openDia.getDirectory();
				String fileName=openDia.getFile();
				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 e1) {
					throw new RuntimeException("读取失败");
				}
			}
		});
		
		saveItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(file==null)
				{
					saveDia.setVisible(true);
					String dirPath=saveDia.getDirectory();
					String fileName=saveDia.getFile();
					if(dirPath==null || fileName==null) 
					return ;
					file=new File(dirPath,fileName);
				}
					BufferedWriter buf;
					try {
						buf = new BufferedWriter(new FileWriter(file));
						String text=ta.getText();
						buf.write(text);
						buf.flush();
						buf.close();
					} catch (IOException e1) {
						throw new RuntimeException("读取失败");
					}
					
				
			}
		});
		closeItem.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 MyMenu();
	}
}
最近下载更多
zxcZ11  LV1 5月24日
落樱不及你  LV7 3月22日
Lvelvelve  LV2 2022年12月11日
xuweisong2010  LV27 2022年6月14日
wanglinddad  LV51 2021年6月24日
大鹏秀秀鹏鹏  LV13 2021年6月19日
新东方瑶酱  LV7 2021年2月8日
熊亚龙  LV1 2020年12月23日
wkq888  LV16 2020年12月15日
最近浏览更多
DeanYao  LV2 10月11日
shuangfu  LV24 9月13日
13161895  LV1 7月4日
whdsichen  LV1 6月6日
caomin  LV4 5月25日
zxcZ11  LV1 5月24日
落樱不及你  LV7 3月22日
xingxing1234  LV10 3月22日
理工铝孩  LV1 2022年12月20日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友