Lowe576

bank

May 23rd, 2018
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.04 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class Bank {
  4. private final ArrayList accounts = new ArrayList();
  5. /** Metoden addAcconut tar emot ett konto och lägger in det i sist i samlingen
  6. *
  7. * @param a
  8. */
  9.  
  10. public void addAccount(Account a){
  11. accounts.add(a);
  12. }
  13. /**Metoden findAccount söker efter ett konto m.a.p kontonummer
  14. * metoden returnerar första kontot med korrekt kontonumer
  15. * finnns dubletter. Metoden returnerar null om inget konto finns
  16. * @param accountNo
  17. * @return
  18. */
  19. public Account findAccount(int accountNo){
  20.  
  21. for(int i=0 ; i<accounts.size() ; i++){
  22. Account temp = (Account)accounts.get(i);
  23.  
  24. if(temp.accountNo()==accountNo){
  25. return temp;
  26. }
  27. }
  28. return null;
  29. }
  30. }
  31.  
  32.  
  33.  
  34.  
  35. public class BankSystem {
  36.  
  37. /**
  38. * @param args the command line arguments
  39. */
  40. public static void main(String[] args) {
  41. //Bank b = new Bank();
  42. // Gui gui = new Gui(b);
  43.  
  44. // TODO code application logic here
  45. Account a1 = new Account ("eva", 4500);
  46. Account a2 = new Account ("liam", 3000);
  47. Account a3 = new Account ("Stinga",67000);
  48.  
  49. Bank banken = new Bank();
  50.  
  51.  
  52. banken.addAccount(a1);
  53. banken.addAccount(a2);
  54. banken.addAccount(a3);
  55. System.out.println(banken.findAccount(1001));
  56. System.out.println(banken.findAccount(1002));
  57. System.out.println(banken.findAccount(1003));
  58.  
  59.  
  60.  
  61. Gui gui = new Gui(banken);
  62.  
  63. } }
  64.  
  65.  
  66.  
  67.  
  68. public class Account {
  69. private double balance;
  70. private int accountNo;
  71. private String holder;
  72. private static int counter = 1000;
  73.  
  74. public Account(String holder, double initBalance){
  75. this.holder = holder;
  76. this.balance = initBalance;
  77. accountNo = ++counter;
  78.  
  79. }
  80. public void deposit(double amount){
  81. this.balance += amount;
  82. }
  83. public void withdraw(double amount){
  84. if(balance > amount){
  85. this.balance -= amount;
  86. }
  87. }
  88.  
  89. public int accountNo(){
  90. return accountNo;
  91. }
  92. public String holder(){
  93. return holder;
  94.  
  95. }
  96. public double balance(){
  97. return balance;
  98. }
  99. public String toString(){
  100. return "name: " + holder + "\n"+
  101. "accountNo: " + accountNo + "\n"+
  102. "balance: " + balance + "\n" +
  103. "-------------------";
  104. }
  105. }
  106.  
  107.  
  108.  
  109. import java.awt.*;
  110. import java.awt.event.*;
  111. import javax.swing.*;
  112. public class Gui {
  113. private JFrame frame = new JFrame("Crime Bank");
  114. private JPanel background, centerPanel,southPanel,menuBar;
  115. private JLabel l_accountNo,l_name,l_deposit,l_withdraw,l_balance;
  116. private JTextField tf_accountNo, tf_name, tf_deposit,tf_withdraw,tf_balance;
  117. private JButton b_find,b_deposit,b_withdraw,b_clear,b_create;
  118. private Bank banken;
  119. private JMenuBar baren;
  120. private JMenu menu;
  121. private JMenuItem i_item,i_accountNo,i_deposit,i_withdraw,i_clear,i_find;
  122. private Account findAcc;
  123.  
  124.  
  125.  
  126.  
  127. public Gui(Bank b){
  128. banken = b;
  129. //this.banken = banken;
  130. baren = new JMenuBar();
  131. menu = new JMenu("file");
  132. i_item = new JMenuItem("close");
  133. i_clear = new JMenuItem("clear");
  134. i_find = new JMenuItem("find");
  135. menu.add(i_clear);
  136. baren.add(menu);
  137. menu.add(i_item);
  138. menu.add(i_find);
  139. this.frame.setJMenuBar(baren);
  140. background = new JPanel();
  141. background.setLayout(new BorderLayout());
  142. centerPanel = new JPanel();
  143. background.setBorder(BorderFactory.createLineBorder(Color.RED,9, false));
  144.  
  145. centerPanel.setLayout((new GridLayout(5,2)));
  146. southPanel = new JPanel();
  147. southPanel.setLayout((new GridLayout(3,2)));
  148. l_accountNo = new JLabel("accountNo: ");
  149. l_name = new JLabel("name:");
  150. l_deposit = new JLabel ("deposit:");
  151. l_withdraw = new JLabel("withdraw:");
  152. l_balance = new JLabel("balance:");
  153. b_find = new JButton("FIND");
  154. b_deposit = new JButton("DEPOSIT");
  155. b_withdraw = new JButton("WITHDRAW");
  156. b_clear = new JButton("CLEAR");
  157. b_create = new JButton("CREATE");
  158. southPanel.add(b_deposit);
  159. southPanel.add(b_find);
  160. southPanel.add(b_withdraw);
  161. southPanel.add(b_clear);
  162. southPanel.add(b_create);
  163.  
  164. //southPanel.setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY,3, true));
  165. //southPanel.setBorder(BorderFactory.createLineBorder(Color.pink));
  166.  
  167.  
  168.  
  169. tf_accountNo= new JTextField(12);
  170. tf_name = new JTextField(12);
  171. tf_deposit= new JTextField(12);
  172. tf_withdraw= new JTextField(12);
  173. tf_balance= new JTextField(12);
  174. centerPanel.add(l_accountNo);
  175. centerPanel.add(tf_accountNo);
  176. centerPanel.add(l_name);
  177. centerPanel.add(tf_name);
  178. centerPanel.add(l_balance);
  179. centerPanel.add(tf_balance);
  180. centerPanel.add(l_deposit);
  181. centerPanel.add(tf_deposit);
  182. centerPanel.add(l_withdraw);
  183. centerPanel.add(tf_withdraw);
  184. background.add(centerPanel, BorderLayout.CENTER);
  185. background.add(southPanel, BorderLayout.SOUTH);
  186. frame.setContentPane(background);
  187. frame.pack();
  188. frame.setVisible(true);
  189. ClearHandler cl = new ClearHandler();
  190. FindHandler fh = new FindHandler();
  191.  
  192. this.b_clear.addActionListener(cl);
  193. this.i_clear.addActionListener(cl);
  194. this.b_withdraw.addActionListener(new WH());
  195. this.b_deposit.addActionListener(new DH());
  196. this.b_find.addActionListener(fh);
  197. this.i_find.addActionListener(fh);
  198. this.b_create.addActionListener(new Create());
  199. this.banken = banken;
  200.  
  201. }
  202. private class ClearHandler implements ActionListener{
  203. public void actionPerformed(ActionEvent ae){
  204. tf_accountNo.setText("");
  205. tf_name.setText("");
  206. tf_deposit.setText("");
  207. tf_withdraw.setText("");
  208. tf_balance.setText("");
  209.  
  210. }
  211. }
  212.  
  213. private class WH implements ActionListener{
  214. public void actionPerformed(ActionEvent ae){
  215. System.out.println("hej");
  216. String sWithdraw = tf_withdraw.getText();
  217. double amount = Double.parseDouble(sWithdraw);
  218. findAcc.withdraw(amount);
  219. tf_balance.setText("" + findAcc.balance());
  220.  
  221. }
  222. }
  223. private class DH implements ActionListener{
  224. public void actionPerformed(ActionEvent ae){
  225. System.out.println("hej");
  226. String sDeposit = tf_deposit.getText();
  227. double amount = Double.parseDouble(sDeposit);
  228. findAcc.deposit(amount);
  229. tf_balance.setText("" + findAcc.balance());
  230. System.out.println("Deposit" + amount);
  231.  
  232. // double amount = Double.parseDouble (tf_deposit.getText());
  233. // findAcc.deposit(23);
  234. // tf_balance.setText("" + findAcc.balance());
  235. } }
  236. private class FindHandler implements ActionListener{
  237. public void actionPerformed(ActionEvent ae){
  238. System.out.println("hej");
  239. String sAccNo = tf_accountNo.getText();
  240. int accNo = 0;
  241. try{
  242. accNo = Integer.parseInt(sAccNo);
  243.  
  244. }catch (NumberFormatException nfe){
  245. JOptionPane.showMessageDialog(frame, "skriv in siffror som kontonummer");
  246.  
  247. return;}
  248. Account findAcc = banken.findAccount(accNo);
  249. if(findAcc!=null){
  250. tf_name.setText(findAcc.holder());
  251. tf_balance.setText(""+findAcc.balance());
  252. }else JOptionPane.showMessageDialog(frame, "kontot finns ej! ");
  253. }
  254. }
  255. private class Create implements ActionListener{
  256. public void actionPerformed(ActionEvent ae){
  257. System.out.println("CREATE");
  258. String holder = tf_name.getText();
  259. double amount = Double.parseDouble(tf_deposit.getText());
  260. Account create = new Account(holder, amount);
  261. tf_accountNo.setText("" + create.accountNo());
  262. banken.addAccount(create);
  263. tf_deposit.setText("");
  264. tf_balance.setText("" + create.balance());
  265.  
  266.  
  267. }
  268. } }
Add Comment
Please, Sign In to add comment