public void withdraw() { String number = currentAccountNumber(); if (number != null) { String s = JOptionPane.showInputDialog( this, "Enter amount to draw:", "Draw Money", JOptionPane.QUESTION_MESSAGE); if (s != null) { try { double amount = Double.parseDouble(s); Account a = accounts.get(number); a.withdraw(amount); fld_balance.setText(currencyFormat(a.getBalance())); } catch (NumberFormatException e) { JOptionPane.showMessageDialog(this, "Illegal Value", "Error", JOptionPane.ERROR_MESSAGE); } catch (IllegalArgumentException e) { JOptionPane.showMessageDialog( this, "Illegal Argument", "Error", JOptionPane.ERROR_MESSAGE); } catch (InactiveException e) { JOptionPane.showMessageDialog( this, "Account is inactive", "Error", JOptionPane.ERROR_MESSAGE); } catch (OverdrawException e) { JOptionPane.showMessageDialog( this, "Account must not be overdrawn", "Error", JOptionPane.ERROR_MESSAGE); } catch (Exception e) { error(e); } } } }
public void transfer() { String number = currentAccountNumber(); if (number != null) { try { Set<String> s = new HashSet<String>(accounts.keySet()); s.remove(number); TransferDialog trans = new TransferDialog(this, "Transfer Money", number, s); Point loc = getLocation(); trans.setLocation(loc.x + 50, loc.y + 50); trans.setModal(true); trans.setVisible(true); if (!trans.canceled()) { if (number.equals(trans.getAccountNumber())) { JOptionPane.showMessageDialog( this, "Both Accounts are the same!", "Error", JOptionPane.ERROR_MESSAGE); } else { try { double amount = Double.parseDouble(trans.getBalance()); Account from = accounts.get(number); Account to = accounts.get(trans.getAccountNumber()); bank.transfer(from, to, amount); // after transfer adjust value of displayed account fld_balance.setText(currencyFormat(from.getBalance())); JOptionPane.showMessageDialog( this, "Transfer successfull", "Information", JOptionPane.INFORMATION_MESSAGE); } catch (NumberFormatException e) { JOptionPane.showMessageDialog( this, "Illegal Balance", "Error", JOptionPane.ERROR_MESSAGE); } catch (IllegalArgumentException e) { JOptionPane.showMessageDialog( this, "Illegal Argument", "Error", JOptionPane.ERROR_MESSAGE); } catch (InactiveException e) { JOptionPane.showMessageDialog( this, "At least one account is inactive", "Error", JOptionPane.ERROR_MESSAGE); } catch (OverdrawException e) { JOptionPane.showMessageDialog( this, "Account must not be overdrawn", "Error", JOptionPane.ERROR_MESSAGE); } } } } catch (Exception e) { error(e); } } }
private void updateCustomerInfo() { String nr = currentAccountNumber(); try { if (nr != null) { Account a = accounts.get(nr); if (a != null) { fld_owner.setText(a.getOwner()); fld_balance.setText(currencyFormat(a.getBalance())); } else { JOptionPane.showMessageDialog( this, "Account not found", "Error", JOptionPane.ERROR_MESSAGE); refreshDialog(); } } else { fld_owner.setText(""); fld_balance.setText(""); } } catch (Exception e) { error(e); } }