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

📄 addressbook.java

📁 java编程开发技巧与实例的编译测试通过的所有例程
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;

public class AddressBook extends Frame implements ActionListener, ItemListener
{
	private List book	=	new List();
	private java.awt.List addresses = new java.awt.List();
	private MenuItem fileExit		=	new MenuItem("Exit");
	private MenuItem toolAddPrivate	=	new MenuItem("Private Address");
	private MenuItem toolAddPublic	=	new MenuItem("Public Address");
	private MenuItem toolDel		=	new MenuItem("Delete Address");
	private MenuItem toolShow		=	new MenuItem("Show Address");
	private AddressDisplay display	=	new AddressDisplay();
	private AddressDialog dialog	=	null;
	private Address address			=	null;
	private class WindowCloser extends WindowAdapter
	{
		public void windowClosing (WindowEvent we)
		{
			System.exit(0);
		}
	}
	public AddressBook()
	{
		super("Address Book");
		setup();
		fileExit.addActionListener(this);
		toolAddPrivate.addActionListener(this);
		toolAddPublic.addActionListener(this);
		toolDel.addActionListener(this);
		toolShow.addActionListener(this);
		addresses.addActionListener(this);
		addresses.addItemListener(this);
		addWindowListener(new WindowCloser());
		pack();
		setSize(700, 300);
		WCenterlization wc = new WCenterlization(this);
		show();
	}
	public void itemStateChanged(ItemEvent e)
	{
		if (addresses.getSelectedIndex() >= 0)
			handleShow();
	}
	public void actionPerformed(ActionEvent e)
	{
		Object target = e.getSource();
		if (target == fileExit)
			System.exit(0);
		else if (target == toolDel)
			handleDel();
		else if (target == toolAddPrivate)
			handleAdd(new PrivateAddress());
		else if (target == toolAddPublic)
			handleAdd(new Address());
		else if (((target == toolShow) || (target == addresses)) && (addresses.getSelectedIndex() >= 0))
			handleEdit();
	}
	private void handleEdit()
	{
		int pos = addresses.getSelectedIndex();
		address = (Address)book.get(pos);
		dialog = new AddressDialog(this, address);
		if (dialog.isOkay)
		{
			address.setAddress(dialog.getData());
			addresses.replaceItem(address.toString(), pos);
			display.setText(address);
			validate();
		}
	}
	private void handleAdd(Address newAddress)
	{
		dialog = new AddressDialog(this, newAddress);
		if (dialog.isOkay)
		{
			newAddress.setAddress(dialog.getData());
			addresses.add(newAddress.toString());
			book.add(newAddress);
		}
	}
	private void handleDel()
	{
		if (addresses.getSelectedIndex() >= 0)
		{
			book.delete(addresses.getSelectedIndex());
			addresses.remove(addresses.getSelectedIndex());
		}
	}
	private void handleShow()
	{
		address = (Address)book.get(addresses.getSelectedIndex());
		display.setText(address);
		display.setBackground(Color.DARK_GRAY);
		validate();
	}
	private void setup()
	{
		Menu file		=	new Menu("File");
		file.add(fileExit);
		Menu edit		=	new Menu("Edit");
		Menu toolAdd	=	new Menu("Add Address");
		toolAdd.add(toolAddPrivate);	toolAdd.add(toolAddPublic);
		Menu tools		=	new Menu("Tools");
		tools.add(toolAdd);
		tools.addSeparator();
		tools.add(toolDel);		tools.add(toolShow);
		MenuBar bar		=	new MenuBar();
		bar.add(file);		bar.add(edit);	bar.add(tools);
		setMenuBar(bar);
		ScrollPane scroller = new ScrollPane();
		scroller.add(display);
		setLayout(new GridLayout(1, 2));
		add(addresses);		add(scroller);
		WCenterlization wc = new WCenterlization(this);
	}
	public static void main(String args[])
	{
		AddressBook book	=	new AddressBook();
	}
}

⌨️ 快捷键说明

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