import java.awt.FlowLayout; import java.awt.BorderLayout; import java.awt.GridLayout; import javax.swing.*; import javax.swing.table.*; import java.awt.event.*; public class Money extends JFrame implements ActionListener { private CheckData data = new CheckData(); private JTable display = new JTable(data); private JButton quit = new JButton("Quit"); private JButton addCheck = new JButton("Add Check"); private JButton addDeposit = new JButton("Add Deposit"); private JButton delete = new JButton("Delete"); private JTextField date = new JTextField(20); private JTextField name = new JTextField(20); private JTextField amount = new JTextField(20); public Money() { super("Money"); JPanel fields = new JPanel(new GridLayout(3, 1)); fields.add(name); fields.add(amount); fields.add(date); JPanel buttons = new JPanel(new GridLayout(3, 1)); buttons.add(addCheck); buttons.add(addDeposit); buttons.add(delete); JPanel labels = new JPanel(new GridLayout(3, 1)); labels.add(new JLabel("Name")); labels.add(new JLabel("Amount")); labels.add(new JLabel("Date")); JPanel controls = new JPanel(new BorderLayout()); controls.add("East", buttons); controls.add("Center", fields); controls.add("West", labels); getContentPane().setLayout(new BorderLayout()); getContentPane().add("Center", new JScrollPane(display)); getContentPane().add("South", controls); quit.addActionListener(this); addCheck.addActionListener(this); addDeposit.addActionListener(this); delete.addActionListener(this); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); validate(); pack(); show(); } public void actionPerformed(ActionEvent ae) { if (ae.getSource() == addCheck) data.addTransaction(new Check("Bert", 100, "today")); else if (ae.getSource() == addDeposit) data.addTransaction(new Deposit("Sue", 100, "today")); else if (ae.getSource() == delete) ; else if (ae.getSource() == quit) System.exit(0); System.out.println("Balance: " + data.getBalance()); } public static void main(String args[]) { Money m = new Money(); } }