📄 addressbooktest.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
{
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 + -