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("记事本");
}
}