All pastes #772664 Raw Edit

Mine

public text v1 · immutable
·published 2007-11-13 23:24 UTC
rendered paste body
package Project;

import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.event.*;

public class AddressBook extends JFrame
{
	private JDesktopPane desktop;
	private AddressBookDataAccess database;
	Action newAction, saveAction, deleteAction, searchAction, exitAction;

	public AddressBook()
	{
		super("Address Book");

		try
		{
			database = new DataAccess();
		}

		catch (Exception exception)
		{
			exception.printStackTrace();
			System.exit(1);
		}

		JToolBar toolBar = new JToolBar();
		JMenu fileMenu = new JMenu("File");
		fileMenu.setMnemonic('F');

		newAction = new NewAction();
		saveAction = new SaveAction();
		saveAction.setEnabled(false);
		deleteAction = new DeleteAction();
		deleteAction.setEnabled(false);
		searchAction = new SearchAction();
		exitAction = new ExitAction();

		toolBar.add(newAction);
		toolBar.add(saveAction);
		toolBar.add(deleteAction);
		toolBar.add(new JToolBar.Separator());
		toolBar.add(searchAction);

		fileMenu.add(newAction);
		fileMenu.add(saveAction);
		fileMenu.add(deleteAction);
		fileMenu.addSeparator();
		fileMenu.add(searchAction);
		fileMenu.addSeparator();
		fileMenu.add(exitAction);

		JMenuBar menuBar = new JMenuBar();
		menuBar.add(fileMenu);
		setJMenuBar(menuBar);

		desktop = new JDesktopPane();

		Container c = getContentPane();
		c.add(toolBar, BorderLayout.NORTH);
		c.add(toolBar, BorderLayout.CENTER);

		addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent event)
			{
				shutDown();
			}
		});

		Toolkit toolkit = getToolkit();
		Dimension dimension = toolkit.getScreenSize();

		setBounds(100, 100, dimension.width - 200, dimension.height - 200);
		setVisible(true);
	}

	private void shutDown()
	{
		database.close();
		System.exit(0);
	}

	private AddressBookEntryFrame createAddressBookEntryFrame()
	{
		AddressBookEntryFrame frame = new AddressBookEntryFrame();
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		frame.addInternalFrameListener(new InternalFrameAdapter()
		{

			public void internalFrameActivated(InternalFrameEvent event)
			{
				saveAction.setEnabled(true);
				deleteAction.setEnabled(true);
			}

			public void internalFrameDeactivated(InternalFrameEvent event)
			{
				saveAction.setEnabled(false);
				deleteAction.setEnabled(false);
			}
		});

		return frame;
	}

	public static void main(String args[])
	{
		new AddressBook();
	}

	private class NewAction extends AbstractAction
	{
		public NewAction()
		{
		}

		public void actionPerformed(ActionEvent e)
		{
			AddressBookEntryFrame entryFrame = createAddressBookEntryFrame();
			entryFrame.setAddressBookEntry(new AddressBookEntry());

			desktop.add(entryFrame);
			entryFrame.setVisible(true);
		}
	}

	private class SaveAction extends AbstractAction
	{
		public SaveAction()
		{
		}

		// save it
		public void actionPerformed(ActionEvent e)
		{

		}
	}

	private class DeleteAction extends AbstractAction
	{
		public DeleteAction()
		{
			putValue(NAME, "Delete");
			putValue(SHORT_DESCRIPTION, "Delete");
			putValue(LONG_DESCRIPTION, "Delete an address book entry");
			putValue(MNEMONIC_KEY, new Integer('D'));
		}

		// delete it
		public void actionPerformed(ActionEvent e)
		{

		}
	}

	private class SearchAction extends AbstractAction
	{
		// setup action's name icon descriptions and mnemonic
		public SearchAction()
		{
		}

		// locate existing entry
		public void actionPerformed(ActionEvent e)
		{

		}
	}

	private class ExitAction extends AbstractAction
	{
		public ExitAction()
		{
			putValue(NAME, "Exit");
			putValue(SHORT_DESCRIPTION, "Exit");
			putValue(LONG_DESCRIPTION, "Terminate the program");
			putValue(MNEMONIC_KEY, new Integer('x'));
		}

		public void actionPerformed(ActionEvent e)
		{
			shutDown();
		}
	}
}