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

📄 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();
		setLocationRelativeTo(this);
		setVisible(true);
	}
	public void saveData()
	{
		try
		{
			DataOutputStream out	=	new DataOutputStream(new FileOutputStream("addresses.dat"));
			out.writeInt(data.size());
			for (Iterator iterator = data.iterator(); iterator.hasNext();)
				((Address)iterator.next()).save(out);
			out.close();
		}
		catch	(IOException ioe)
		{
			System.out.println(ioe);
		}
	}
	public void loadData()
	{
		try
		{
			DataInputStream in	=	new DataInputStream(new FileInputStream("addresses.dat"));
			clearData();
			int counter = in.readInt();
			for (int i = 0; i < counter; i ++)
			{
				String type	=	in.readUTF();
				if (type.equals("Address"))
				{
					Address address	=	new Address();
					address.load(in);
					addData(address);
				}
				else if (type.equals("AddressPhone"))
				{
					AddressPhone address = new AddressPhone();
					address.load(in);
					addData(address);
				}
			}
			in.close();
		}
		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 + -