import java.awt.*;
import java.awt.event.*;
import java.io.*;
class A extends Frame implements ActionListener
{
    MenuBar menubar;
    Menu m1=new Menu("文件"),m2=new Menu("编辑"),m3=new Menu("格式"),m4=new Menu("查看"),m5=new Menu("帮助");
    MenuItem xinjian=new MenuItem("新建"),dakai=new MenuItem("打开"),baocun=new MenuItem("保存"),lingcunwei=new MenuItem("另存为"),
                     shezhi=new MenuItem("页面设置"),dayin=new MenuItem("打印"),tuichu=new MenuItem("退出");
    MenuItem chexiao=new MenuItem("撤销"),jianqie=new MenuItem("剪切"),fuzhi=new MenuItem("复制"),zhantie=new MenuItem("粘贴"),
                    shanchu=new MenuItem("删除"),chazhao=new MenuItem("查找"),xiayige=new MenuItem("查找下一个"),tihuan=new MenuItem("替换"),
                    zhuandao=new MenuItem("转到"),quanxuan=new MenuItem("全选"),shijian=new MenuItem("时间/日期");
    MenuItem huanhang=new MenuItem("自动换行"),ziti=new MenuItem("字体");
    MenuItem zhuangtai=new MenuItem("状态栏");
    MenuItem bangzhu=new MenuItem("查看帮助"),guanyu=new MenuItem("关于记事本");
    TextArea t;
    FileDialog load,save;
    BufferedReader in;
    FileReader fr;
    BufferedWriter out;
    FileWriter tofile;
    A(String s)
    {
        setTitle(s);
        menubar.add(m1);menubar.add(m2);menubar.add(m3);menubar.add(m4);menubar.add(m5);
        m1.add(xinjian);m1.add(dakai);m1.add(baocun);m1.add(lingcunwei);m1.add(shezhi);m1.add(dayin);m1.add(tuichu);
        m2.add(chexiao);m2.add(jianqie);m2.add(fuzhi);m2.add(zhantie);m2.add(shanchu);m2.add(chazhao);m2.add(xiayige);m2.add(tihuan);m2.add(zhuandao);m2.add(quanxuan);m2.add(shijian);
        m3.add(huanhang);m3.add(ziti);
        m4.add(zhuangtai);
        m5.add(bangzhu);m5.add(guanyu);
        add(t);
        dakai.addActionListener(this);
        baocun.addActionListener(this);
        tuichu.addActionListener(this);
        setMenuBar(menubar);
        setBounds(300,100,400,300);
        setVisible(true);
        validate();
        save=new FileDialog(this,"保存文件对话框",FileDialog.SAVE);
        load=new FileDialog(this,"打开文件对话框",FileDialog.LOAD);
        save.addWindowListener(new WindowAdapter()
                                                    {
                                                        public void windowClosing(WindowEvent e)
                                                        {
                                                            save.setVisible(false);
                                                        }
                                                    }
                                                    );
      save.addWindowListener(new WindowAdapter()
                                                    {
                                                        public void windowClosing(WindowEvent e)
                                                        {
                                                            save.setVisible(false);
                                                        }
                                                    }
                                                    );
        addWindowListener (new WindowAdapter(){
                                                                                    public void windowClosing(WindowEvent e)
                                                                                    {
                                                                                        //setVisible(false);
                                                                                        System.exit(0);
                                                                                    }
                                                                                }
                                                                                );    
        public void actionPerformed(ActionEvent e)
        {
            if(e.getSource()==dakai)
            {
                if(t.getText()!=null);
                load.setVisible(true);
                t.setText(null);
                String s;
                if(load.getFile()!=null)
                {
                    try
                    {
                        File f=new File(load.getDirectory(),load.getFile());
                        fr=new FileReader(f);
                        in=new BufferedReader(fr);
                        while((s=in.readLine())!=null)
                        t.append(s+'\n');
                        in.close();
                        fr.close();
                    }
                    catch(IOException e2){}
                }
            }
            else if(e.getSource()==baocun)
            {
                save.setVisible(true);
                if(save.getFile()!=null)
                {
                    try
                    {
                        File f=new File(save.getDirectory(),save.getFile());
                        tofile=new FileWriter(f);
                        out=new BufferedWriter(tofile);
                        out.write(t.getText(),0,(t.getText()).length());
                        out.close();
                        tofile.close();
                    }
                    catch(IOException e2) {}
                }
            }
            else if(e.getSource()==tuichu)
            {
                System.exit(0);                                                            
            }                                                        
        }
    }
}
public class Jishiben
{
    public static void main(String args[])
    {
        new A("记事本");
    }
}