public void actionPerformed(ActionEvent ae) {
        Command c = ae.getCommand();
        int selectedIndex = transactionTable.getSelectedRow();
        Log.log("selected index " + selectedIndex);
        if (c == backCommand) {
            AccountsWindow accountWindow = new AccountsWindow();
            accountWindow.show();
        } else if (c == deleteCommand && selectedIndex >= 0) {
            deleteTransaction(selectedIndex);
        } else if (c == editCommand && selectedIndex >= 0) {
            Transaction transaction = ((Transaction) transactions.elementAt(selectedIndex));
            showTransactionForm(selectedIndex, transaction);
        } else if (c == depositeCommand) {
            Transaction transaction = new Transaction();
            transaction.primaryAccountID = account.id;
            showTransactionForm(TRANSACTION_DEPOSITE, transaction);
        } else if (c == spendCommand) {
            Transaction transaction = new Transaction();
            transaction.primaryAccountID = account.id;
            showTransactionForm(TRANSACTION_SPEND, transaction);
        } else if (c == transferCommand) {
            Transaction transaction = new Transaction();
            transaction.primaryAccountID = account.id;
            transaction.transfer = true;
            showTransactionForm(TRANSACTION_TRANSFER, transaction);
        }
    }