⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addressbooktest.java

📁 Java程序设计技巧与开发实例附书源代码。
💻 JAVA
字号:

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;

public class AddressBookTest
    extends Frame
    implements ActionListener
{
   private Button add = new Button("Add");
   private Button clear = new Button("Clear");
   private Button save = new Button("Save");
   private Button load = new Button("Load");
   private Button quit = new Button("Quit");
   private java.awt.List display = new java.awt.List(7);
   private LinkedList data = new LinkedList();
   private Address[] ADRS =
       {
       new Address("ABCD", "ABCD@x.y"),
       new AddressPhone("XYZ", "XYZ@x.y", "1234")};
   public AddressBookTest()
   {
      Panel buttons = new Panel();
      buttons.setLayout(new FlowLayout());
      buttons.add(add);
      add.addActionListener(this);
      buttons.add(clear);
      clear.addActionListener(this);
      buttons.add(save);
      save.addActionListener(this);
      buttons.add(load);
      load.addActionListener(this);
      buttons.add(quit);
      quit.addActionListener(this);
      setLayout(new BorderLayout());
      add("Center", display);
      add("South", buttons);
      validate();
      pack();
      setVisible(true);
   }

   public void saveData()
   {
      try
      {
         ObjectOutputStream out = new ObjectOutputStream(
             new FileOutputStream("addresses.dat"));
         out.writeInt(data.size());
         for (Iterator iterator = data.iterator(); iterator.hasNext(); )
         {
            out.writeObject(iterator.next());
         }
         out.close();
      }
      catch (IOException ioe)
      {
         System.err.println(ioe);
      }
   }

   public void loadData()
   {
      try
      {
         ObjectInputStream in = new ObjectInputStream(
             new FileInputStream("addresses.dat"));
         int size = in.readInt();
         clearData();
         for (int i = 0; i < size; i++)
         {
            addData( (Address) in.readObject());
         }
         in.close();
      }
      catch (ClassNotFoundException cnfe)
      {
         System.out.println(cnfe);
      }
      catch (IOException ioe)
      {
         System.out.println(ioe);
      }
   }

   public void addData(Address address)
   {
      data.add(address);
      display.add(address.toString());
   }

   public void clearData()
   {
      data.clear();
      display.removeAll();
   }

   public void actionPerformed(ActionEvent ae)
   {
      if (ae.getSource() == quit)
      {
         System.exit(0);
      }
      else if (ae.getSource() == add)
      {
         addData(ADRS[ (int) (ADRS.length * Math.random())]);
      }
      else if (ae.getSource() == save)
      {
         saveData();
      }
      else if (ae.getSource() == load)
      {
         loadData();
      }
      else if (ae.getSource() == clear)
      {
         clearData();
      }
   }

   public static void main(String args[])
   {
      AddressBookTest ab = new AddressBookTest();
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -