简易记事本

import java.awt.Button;
import java.awt.FileDialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.*;

class Win extends Frame
implements ActionListener
{
	FileDialog save,open;
	FileReader reader;
	FileWriter tofile;
	BufferedWriter out;
	BufferedReader in;
	Menu menu,menu2;
	MenuBar menubar;
	MenuItem menuItem1,menuItem2,menuItem3,
			 menuItem4,menuItem5,menuItem6;
	TextArea text;
	String s;
	Win(String s){
		super(s);
		setLayout(new FlowLayout());
		save=new FileDialog(this, "保存对话",FileDialog.SAVE);
		open=new FileDialog(this, "打开对话",FileDialog.LOAD);
		menubar=new MenuBar();
		text=new TextArea();
		menu=new Menu("文件");
		menu2=new Menu("编辑");
		menubar.add(menu);
		menubar.add(menu2);
		setMenuBar(menubar);
		menuItem1=new MenuItem("新建");
		menuItem2=new MenuItem("保存");
		menuItem3=new MenuItem("打开");
		menuItem4=new MenuItem("退出");
		menuItem5=new MenuItem("复制");
		menuItem6=new MenuItem("粘贴");
		menu.add(menuItem1);
		menu.add(menuItem2);
		menu.add(menuItem3);
		menu.add(menuItem4);
		menu2.add(menuItem5);
		menu2.add(menuItem6);
		menuItem1.addActionListener(this);
		menuItem2.addActionListener(this);
		menuItem3.addActionListener(this);
		menuItem4.addActionListener(this);
		menuItem5.addActionListener(this);
		menuItem6.addActionListener(this);
		menuItem4.setShortcut(new MenuShortcut(KeyEvent.VK_E));
		setBounds(600, 400, 750, 450);
		add(text);
		setVisible(true);
		addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e){
				System.exit(0);
				}
		});
		validate();
	}
	
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==menuItem1) {

		}
		if(e.getSource()==menuItem5) {
			s=text.getSelectedText();	
		}
		if(e.getSource()==menuItem6){
			int a=text.getCaretPosition();
			text.insert(s,a);
		}
		
		if(e.getSource()==menuItem3)
		{
			open.setVisible(true);
			text.setText(null);
			String s;
			if(open.getFile()!=null) {
				File file=new File
				(open.getDirectory(),open.getFile());
				try {
					reader=new FileReader(file);
					in=new BufferedReader(reader);
					while((s=in.readLine())!=null)
						text.append(s+'\n');
					in.close();
					reader.close();
				} catch (FileNotFoundException e1) {
					System.out.println("文件不存在");
					e1.printStackTrace();
				} catch (IOException e2) {
					System.out.println("文件读取错误");
					e2.printStackTrace();
				}
			}
		}
		if(e.getSource()==menuItem2) {
			save.setVisible(true);
			if(save.getFile()!=null) 
			{
			File f=new File(save.getDirectory(),save.getFile());
			try {
				tofile=new FileWriter(f);
				out=new BufferedWriter(tofile);
				out.write(text.getText(),0,(text.getText().length()));
				out.close();
				tofile.close();
			} catch (IOException e3) {
				System.out.println("文件读取错误");
				e3.printStackTrace();
			}
			}		
		}
		if(e.getSource()==menuItem4) {
			System.exit(0);            	
		}
		
	}
	
}
	
class Notebook{
	public static void main(String[] args) {
		new Win("记事本");
	}
	
}

猜你喜欢

转载自blog.csdn.net/intmain_S/article/details/90215323