//  ************************************ //  一个简单的JAVA 程序 //  功能是演示一个小窗口,并具有读写文件的功能。 //  @author Gaogao //  @date 2004-11-04 //  ************************************ 
//  ************************************ //  引入GUI和GUI事件处理的类,和I/O管理的类 //  ************************************ import java.awt.*; import java.awt.event.*; import java.io.*; 
//  ************************************ //  TestOne,一个演示菜单和按钮的Application //  程序。 //  ************************************ public class TestOne extends Frame implements ActionListener {  //继承自Frame,实现ActionListener接口  //Frame是一个窗体的框架类,Actionlistener是事件接口,实现他  //可以做事件处理。 
 //  ************************************  //  声明变量  //  ************************************  //  菜单控制  private MenuBar mb;  private Menu mFile;  private MenuItem miLoad;  private MenuItem miSave;  private MenuItem miExit;  //  按钮  private TextArea textArea;  //  磁盘管理  private File file;  //  文件名   public static final String FILENAME_STR = "Love.TXT";  //  ************************************  //  构造  //  ************************************   public TestOne() {   init(); 
  putObjectsToMyFrame();   addListenersToObjects();   setTheWindow();  }  //  ************************************  //  分配对象内存  //  ************************************   private void init() {   mb = new MenuBar();   mFile = new Menu("File");   miLoad = new MenuItem("Load");   miSave = new MenuItem("Save");   miExit = new MenuItem("Exit");     textArea = new TextArea("");  }    //  ************************************  //  装各个部件到窗口  //  ************************************   private void putObjectsToMyFrame() {   setMenuBar(mb);   mb.add(mFile);   mFile.add(miLoad);   mFile.add(miSave);   mFile.add(miExit);   add(textArea);  } 
 //  ************************************  //  设置窗口  //  ************************************   private void setTheWindow() {   this.setSize(400,300);   this.show();   addWindowListener(     new WindowAdapter() {     public void windowClosing(WindowEvent we)     {      System.exit(0);     }    }    );  }  //  ************************************  //  设置事件监听器  //  ************************************   private void addListenersToObjects() {   miLoad.addActionListener(this);//将miLoad这个菜单的事件监听放在这个窗口的实例中   miSave.addActionListener(this);   miExit.addActionListener(this); 
 }  //  ************************************  //  事件监听器(就是这个类的事例)监听到事件后  //  调用。此方法是ActionListener接口中抽象  //  方法的实现。  //  ************************************  public void actionPerformed(ActionEvent ae) {   if (ae.getSource() == miLoad)   {        //    System.out.println("Loading");    DataInputStream dis; 
   try {     file = new File(FILENAME_STR);     dis = new DataInputStream(new FileInputStream(file));     textArea.setText("");     ////没JAVA DOC 文档 不会写了。待完善。     dis.close();    }    catch (Exception ex)    {     System.out.println(ex.getMessage());    } 
              }   else if (ae.getSource() == miSave)   {    //    System.out.println("Saving");    DataOutputStream dos;    try {     file = new File(FILENAME_STR);     dos = new DataOutputStream(new FileOutputStream(file));     int i = 0;     String temp = textArea.getText();     while (i < temp.length())     {      dos.writeChar(temp.charAt(i++));     }          dos.close();    }    catch (Exception ex)    {     System.out.println(ex.getMessage());    } 
      }    else if (ae.getSource() == miExit)   {    //退出应用程序    System.out.println("Exit");    System.exit(0);   }      }  //  ************************************  //  程序入口。  //  ************************************   public static void main(String[] args) {   new TestOne();  } }
   
 
  |