java图形化界面编程之记事本

package day25; import java.awt.BorderLayout; import java.awt.FileDialog; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; public class Notepad {         JFrame frame=new JFrame("记事本");                      //菜单条             JMenuBar bar=new JMenuBar();             //面板             JPanel panel=new JPanel();             //文件菜单             JMenu fileMenu=new JMenu("文件");             JMenu editMenu=new JMenu("编辑");                          JMenu other=new JMenu("选项"); //复选菜单             //文件菜单功能项             JMenuItem open=new JMenuItem("打开");             JMenuItem save=new JMenuItem("保存");                                  //编辑菜单功能项             JMenuItem about=new JMenuItem("关于");             JMenuItem exit=new JMenuItem("退出");                          //复选菜单             JMenuItem work1=new JMenuItem("项目1");             JMenuItem work2=new JMenuItem("项目2");             JMenuItem work3=new JMenuItem("项目3");                          TextArea textArea=new TextArea();                    public  void InitNotepad(){                          //窗口添加菜单条             frame.add(bar,BorderLayout.NORTH);             frame.add(textArea);             //菜单条添加文件菜单             bar.add(fileMenu);             bar.add(editMenu);                          //文件菜单项添加功能             fileMenu.add(open);             fileMenu.add(save);             //复选菜单             other.add(work1);             other.add(work2);             other.add(work3);             fileMenu.add(other);                          //编辑菜单添加功能             editMenu.add(about);             editMenu.add(exit);                                       fileMenu.add(other);                          //向打开添加事件             open.addActionListener(new ActionListener() {                                              public void actionPerformed(ActionEvent e) {                                              try {                         FileDialog filedialog=new FileDialog(frame,"请选择要打开的文件",FileDialog.LOAD);                         filedialog.setVisible(true);                         //将要打开的文件显示出来                         String path=filedialog.getDirectory(); //获取用户打开的文件路径                         String filename=filedialog.getFile(); //获取打开的文件名                         //读取要打开的文件的内容                             FileInputStream fileInputStream=new FileInputStream(new File(path,filename));                             int length=0;                             byte [] buf=new byte[1024];                             while((length=fileInputStream.read(buf))!=-1){                                 String content=(new String(buf,0,length));                                 //将内容加到文本区域                                textArea.setText(content);                             }                                                          fileInputStream.close();                     }  catch (IOException e1) {                         e1.printStackTrace();                     }                         }             });             //给保存添加事件             save.addActionListener(new ActionListener(){                                 public void actionPerformed(ActionEvent e) {                     try {                         FileDialog fileDialog=new FileDialog(frame,"请选择要保存的路径",FileDialog.SAVE);                         fileDialog.setVisible(true);                         //获取用户选择的路径和文件名                         String path=fileDialog.getDirectory();                         String filename=fileDialog.getFile();                         //建立输出对象                         FileOutputStream fileoutputStream=new FileOutputStream(new File(path,filename));                         //获取文本区域内容                         String content=textArea.getText();                         //将文本内容写出                                                  fileoutputStream.write(content.getBytes());                         fileoutputStream.close();                                              }  catch (IOException e1) {                         // TODO Auto-generated catch block                         e1.printStackTrace();                     }                 }             });                                       FrameUtil.InitFrame(frame, 600, 500);     }                  public static void main(String[] args) {             new Notepad().InitNotepad();                      } }