Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Bank {
- private final ArrayList accounts = new ArrayList();
- /** Metoden addAcconut tar emot ett konto och lägger in det i sist i samlingen
- *
- * @param a
- */
- public void addAccount(Account a){
- accounts.add(a);
- }
- /**Metoden findAccount söker efter ett konto m.a.p kontonummer
- * metoden returnerar första kontot med korrekt kontonumer
- * finnns dubletter. Metoden returnerar null om inget konto finns
- * @param accountNo
- * @return
- */
- public Account findAccount(int accountNo){
- for(int i=0 ; i<accounts.size() ; i++){
- Account temp = (Account)accounts.get(i);
- if(temp.accountNo()==accountNo){
- return temp;
- }
- }
- return null;
- }
- }
- public class BankSystem {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- //Bank b = new Bank();
- // Gui gui = new Gui(b);
- // TODO code application logic here
- Account a1 = new Account ("eva", 4500);
- Account a2 = new Account ("liam", 3000);
- Account a3 = new Account ("Stinga",67000);
- Bank banken = new Bank();
- banken.addAccount(a1);
- banken.addAccount(a2);
- banken.addAccount(a3);
- System.out.println(banken.findAccount(1001));
- System.out.println(banken.findAccount(1002));
- System.out.println(banken.findAccount(1003));
- Gui gui = new Gui(banken);
- } }
- public class Account {
- private double balance;
- private int accountNo;
- private String holder;
- private static int counter = 1000;
- public Account(String holder, double initBalance){
- this.holder = holder;
- this.balance = initBalance;
- accountNo = ++counter;
- }
- public void deposit(double amount){
- this.balance += amount;
- }
- public void withdraw(double amount){
- if(balance > amount){
- this.balance -= amount;
- }
- }
- public int accountNo(){
- return accountNo;
- }
- public String holder(){
- return holder;
- }
- public double balance(){
- return balance;
- }
- public String toString(){
- return "name: " + holder + "\n"+
- "accountNo: " + accountNo + "\n"+
- "balance: " + balance + "\n" +
- "-------------------";
- }
- }
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public class Gui {
- private JFrame frame = new JFrame("Crime Bank");
- private JPanel background, centerPanel,southPanel,menuBar;
- private JLabel l_accountNo,l_name,l_deposit,l_withdraw,l_balance;
- private JTextField tf_accountNo, tf_name, tf_deposit,tf_withdraw,tf_balance;
- private JButton b_find,b_deposit,b_withdraw,b_clear,b_create;
- private Bank banken;
- private JMenuBar baren;
- private JMenu menu;
- private JMenuItem i_item,i_accountNo,i_deposit,i_withdraw,i_clear,i_find;
- private Account findAcc;
- public Gui(Bank b){
- banken = b;
- //this.banken = banken;
- baren = new JMenuBar();
- menu = new JMenu("file");
- i_item = new JMenuItem("close");
- i_clear = new JMenuItem("clear");
- i_find = new JMenuItem("find");
- menu.add(i_clear);
- baren.add(menu);
- menu.add(i_item);
- menu.add(i_find);
- this.frame.setJMenuBar(baren);
- background = new JPanel();
- background.setLayout(new BorderLayout());
- centerPanel = new JPanel();
- background.setBorder(BorderFactory.createLineBorder(Color.RED,9, false));
- centerPanel.setLayout((new GridLayout(5,2)));
- southPanel = new JPanel();
- southPanel.setLayout((new GridLayout(3,2)));
- l_accountNo = new JLabel("accountNo: ");
- l_name = new JLabel("name:");
- l_deposit = new JLabel ("deposit:");
- l_withdraw = new JLabel("withdraw:");
- l_balance = new JLabel("balance:");
- b_find = new JButton("FIND");
- b_deposit = new JButton("DEPOSIT");
- b_withdraw = new JButton("WITHDRAW");
- b_clear = new JButton("CLEAR");
- b_create = new JButton("CREATE");
- southPanel.add(b_deposit);
- southPanel.add(b_find);
- southPanel.add(b_withdraw);
- southPanel.add(b_clear);
- southPanel.add(b_create);
- //southPanel.setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY,3, true));
- //southPanel.setBorder(BorderFactory.createLineBorder(Color.pink));
- tf_accountNo= new JTextField(12);
- tf_name = new JTextField(12);
- tf_deposit= new JTextField(12);
- tf_withdraw= new JTextField(12);
- tf_balance= new JTextField(12);
- centerPanel.add(l_accountNo);
- centerPanel.add(tf_accountNo);
- centerPanel.add(l_name);
- centerPanel.add(tf_name);
- centerPanel.add(l_balance);
- centerPanel.add(tf_balance);
- centerPanel.add(l_deposit);
- centerPanel.add(tf_deposit);
- centerPanel.add(l_withdraw);
- centerPanel.add(tf_withdraw);
- background.add(centerPanel, BorderLayout.CENTER);
- background.add(southPanel, BorderLayout.SOUTH);
- frame.setContentPane(background);
- frame.pack();
- frame.setVisible(true);
- ClearHandler cl = new ClearHandler();
- FindHandler fh = new FindHandler();
- this.b_clear.addActionListener(cl);
- this.i_clear.addActionListener(cl);
- this.b_withdraw.addActionListener(new WH());
- this.b_deposit.addActionListener(new DH());
- this.b_find.addActionListener(fh);
- this.i_find.addActionListener(fh);
- this.b_create.addActionListener(new Create());
- this.banken = banken;
- }
- private class ClearHandler implements ActionListener{
- public void actionPerformed(ActionEvent ae){
- tf_accountNo.setText("");
- tf_name.setText("");
- tf_deposit.setText("");
- tf_withdraw.setText("");
- tf_balance.setText("");
- }
- }
- private class WH implements ActionListener{
- public void actionPerformed(ActionEvent ae){
- System.out.println("hej");
- String sWithdraw = tf_withdraw.getText();
- double amount = Double.parseDouble(sWithdraw);
- findAcc.withdraw(amount);
- tf_balance.setText("" + findAcc.balance());
- }
- }
- private class DH implements ActionListener{
- public void actionPerformed(ActionEvent ae){
- System.out.println("hej");
- String sDeposit = tf_deposit.getText();
- double amount = Double.parseDouble(sDeposit);
- findAcc.deposit(amount);
- tf_balance.setText("" + findAcc.balance());
- System.out.println("Deposit" + amount);
- // double amount = Double.parseDouble (tf_deposit.getText());
- // findAcc.deposit(23);
- // tf_balance.setText("" + findAcc.balance());
- } }
- private class FindHandler implements ActionListener{
- public void actionPerformed(ActionEvent ae){
- System.out.println("hej");
- String sAccNo = tf_accountNo.getText();
- int accNo = 0;
- try{
- accNo = Integer.parseInt(sAccNo);
- }catch (NumberFormatException nfe){
- JOptionPane.showMessageDialog(frame, "skriv in siffror som kontonummer");
- return;}
- Account findAcc = banken.findAccount(accNo);
- if(findAcc!=null){
- tf_name.setText(findAcc.holder());
- tf_balance.setText(""+findAcc.balance());
- }else JOptionPane.showMessageDialog(frame, "kontot finns ej! ");
- }
- }
- private class Create implements ActionListener{
- public void actionPerformed(ActionEvent ae){
- System.out.println("CREATE");
- String holder = tf_name.getText();
- double amount = Double.parseDouble(tf_deposit.getText());
- Account create = new Account(holder, amount);
- tf_accountNo.setText("" + create.accountNo());
- banken.addAccount(create);
- tf_deposit.setText("");
- tf_balance.setText("" + create.balance());
- }
- } }
Add Comment
Please, Sign In to add comment