Guest User

Untitled

a guest
Jan 21st, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.02 KB | None | 0 0
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package bank;
  6.  
  7. /**
  8.  *
  9.  * @author Tin
  10.  */
  11.  
  12. import javax.swing.*;
  13. import java.awt.*;
  14. import java.awt.event.*;
  15. public class GUI extends JFrame implements ActionListener{
  16.    /**
  17.      * customerObject en global instans av klassen customer, används för att anropa diverse metoder i klassen.
  18.      * accountObject en global instans av klassen customer, används för att anropa diverse metoder i klassen.
  19.      * creditAccountObject en global instans av klassen CreditAccount, används för att anropa diverse metoder i klassen.
  20.      * savingAccountObject en global instans av klassen SavingAccount, används för att anropa diverse metoder i klassen.
  21.      * transactionObject en global instans av klassen Transaction, används för att anropa diverse metoder i klassen.
  22.      * persNr, firstName, lastName, fullName, accNr,accountNumber, amount är globala variabler som kan nås från hela klassen.
  23.      */
  24.     Bank bankObject = new Bank();
  25.  
  26.     String persNr, firstName, lastName, fullName;
  27.     int accNr, accountNumber;
  28.     double amount;
  29.     private Container contentPane;
  30.     private static final String NEWLINE = System.getProperty("line.separator");
  31.    
  32.     //Start menyns alla objekt och variabler
  33.     private JButton listCustomerButton;
  34.     private JButton createCustomerButton;
  35.     private JButton chooseCustomerButton;
  36.     private JButton exitButton;
  37.     private JPanel listPanel;
  38.     private JList customerJList;
  39.     private String[] names = {"Tin Duong", "Serwa", "Le"};
  40.     private String[] name = {""};
  41.     private DefaultListModel model;
  42.    
  43.     //skapa ny kund menys alla objekt och variabler
  44.     private JLabel personalNrLbl;
  45.     private JLabel firstNameLbl;
  46.     private JLabel lastNameLbl;
  47.     private JTextField personalNrTxtbox;
  48.     private JTextField firstNameTxtbox;
  49.     private JTextField lastNameTxtbox;
  50.     private JButton addCustomerButton;
  51.     private JButton returnButton;
  52.      
  53.     public void menu() 
  54.     {
  55.         //Anger menyns properties
  56.         contentPane = getContentPane();
  57.         contentPane.setLayout(null);
  58.         setSize(750,350);
  59.         setLocation(150,205);
  60.         setTitle("Tin's banksystem");
  61.         setResizable ( false );
  62.        
  63.         //Skapar och placerar en JList
  64.         listPanel = new JPanel(new GridLayout(0,1));
  65.         listPanel.setBorder(BorderFactory.createTitledBorder("Kund lista"));
  66.         listPanel.setBounds(36,52,500,200);
  67.         contentPane.add(listPanel);
  68.         model = new DefaultListModel();
  69.         customerJList = new JList(model);
  70.         for(int i = 0; i<name.length;i++)
  71.             {
  72.                 model.add(i,name[i]);
  73.             }
  74.         listPanel.add(new JScrollPane(customerJList));
  75.         customerJList.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
  76.        
  77.        
  78.         //Skapar och placerar skriv ut kunder knapp samt lägger till lyssnare.
  79.         listCustomerButton = new JButton("Skriv ut kunder");
  80.         listCustomerButton.setBounds(580,72, 120, 30);
  81.         contentPane.add(listCustomerButton);
  82.         listCustomerButton.addActionListener(this);
  83.        
  84.         //Skapar och placerar skapa ny kund knapp samt lägger till lyssnare.
  85.         createCustomerButton = new JButton("Skapa ny kund");
  86.         createCustomerButton.setBounds(580,112, 120, 30);
  87.         contentPane.add(createCustomerButton);
  88.         createCustomerButton.addActionListener(this);
  89.        
  90.         //Skapar och placerar skriv ut kunder knapp samt lägger till lyssnare.
  91.         chooseCustomerButton = new JButton("Välj kund");
  92.         chooseCustomerButton.setBounds(580,152, 120, 30);
  93.         contentPane.add(chooseCustomerButton);
  94.         chooseCustomerButton.addActionListener(this);
  95.        
  96.         //Skapar och placerar avsluta knapp samt lägger till lyssnare.
  97.         exitButton = new JButton("Avsluta");
  98.         exitButton.setBounds(580,192, 120, 30);
  99.         contentPane.add(exitButton);
  100.         exitButton.addActionListener(this);
  101.        
  102.         //registrerar 'Exit upon closing' som en default avstängnings operation.
  103.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  104.     }
  105.    
  106.    
  107.     public void customerMenu() 
  108.     {
  109.         //Anger skapakund menyns properties
  110.         contentPane = getContentPane();
  111.         contentPane.setLayout(null);
  112.         setSize(350,250);
  113.         setLocation(510,260);
  114.         setTitle("Tin's banksystem");
  115.         setResizable ( false );
  116.        
  117.         //Skapar och placerar personnummer label
  118.         personalNrLbl = new JLabel("Personnr:");
  119.         personalNrLbl.setBounds(30,20,120,52);
  120.         contentPane.add(personalNrLbl);
  121.        
  122.         //Skapar och placerar förnamn label
  123.         firstNameLbl = new JLabel("Förnamn:");
  124.         firstNameLbl.setBounds(30,50,120,52);
  125.         contentPane.add(firstNameLbl);
  126.        
  127.         //Skapar och placerar efternamn label
  128.         lastNameLbl = new JLabel("Efternamn:");
  129.         lastNameLbl.setBounds(30,80,120,52);
  130.         contentPane.add(lastNameLbl);
  131.        
  132.         //Skapar och placerar personnummer textbox samt lägger till lyssnare.
  133.         personalNrTxtbox = new JTextField();   
  134.         personalNrTxtbox.setBounds(120,35,200,20); 
  135.         contentPane.add(personalNrTxtbox);
  136.         personalNrTxtbox.addActionListener(this);
  137.        
  138.         //Skapar och placerar förnamn textbox samt lägger till lyssnare.
  139.         firstNameTxtbox = new JTextField();
  140.         firstNameTxtbox.setBounds(120,65,200,20);
  141.         contentPane.add(firstNameTxtbox);
  142.         firstNameTxtbox.addActionListener(this);
  143.        
  144.         //Skapar och placerar efternamn textbox samt lägger till lyssnare.
  145.         lastNameTxtbox = new JTextField();
  146.         lastNameTxtbox.setBounds(120,95,200,20);
  147.         contentPane.add(lastNameTxtbox);
  148.         lastNameTxtbox.addActionListener(this);
  149.        
  150.         //Skapar och placerar lägg till kund knapp samt lägger till lyssnare.
  151.         addCustomerButton = new JButton("Lägg till kund");
  152.         addCustomerButton.setBounds(30,140, 140, 30);
  153.         contentPane.add(addCustomerButton);
  154.         addCustomerButton.addActionListener(this);
  155.        
  156.         //Skapar och placerar återgå knapp samt lägger till lyssnare.
  157.         returnButton = new JButton("Återgå till menyn");
  158.         returnButton.setBounds(30,180, 140, 30);
  159.         contentPane.add(returnButton);
  160.         returnButton.addActionListener(this);
  161.        
  162.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  163.     }
  164.        
  165.       public void actionPerformed(ActionEvent event)
  166.     {
  167.         //Hämtar vilken knapp som klickats.
  168.         JButton clickedButton = (JButton) event.getSource();
  169.        
  170.         //startmenyns knappar.
  171.         if(clickedButton == listCustomerButton)
  172.         {
  173.             model.clear();
  174.         String[] customerInfo = bankObject.getCustomerList();
  175.         int position =  customerJList.getModel().getSize();
  176.         for(int i=0;i < customerInfo.length;i++)
  177.         {
  178.             model.add(position,customerInfo[i]);
  179.         }
  180.            
  181.             //System.out.println(customerObject.getCustomerList());
  182.         }
  183.         if(clickedButton == createCustomerButton)
  184.         {  
  185.             GUI frame = new GUI();
  186.             frame.customerMenu();
  187.             frame.setVisible(true);
  188.         }
  189.         if(clickedButton == chooseCustomerButton)
  190.         {
  191.             Object[] name;
  192.             int[]    loc;
  193.  
  194.             name = customerJList.getSelectedValues();
  195.             loc  = customerJList.getSelectedIndices();
  196.  
  197.             System.out.println("Currently selected animal names are ");
  198.             for (int i = 0; i < name.length; i++)
  199.             {
  200.                 System.out.println((String)name[i] + " at position " + loc[i]);
  201.             }
  202.             /*
  203.         list.addListSelectionListener(new ListSelectionListener() {
  204.  
  205.             public void valueChanged(ListSelectionEvent e)
  206.             {
  207.                 contentpane.setBackground(listColorValues[list.getSelectedIndex()]);
  208.             }
  209.         */
  210.         }
  211.         if(clickedButton == exitButton)
  212.         {
  213.            
  214.             bankObject.listAllCustomers();
  215.         }
  216.         //skapa kund menyns knapp
  217.         if(clickedButton == addCustomerButton)
  218.         {
  219.             persNr = personalNrTxtbox.getText();
  220.             firstName = firstNameTxtbox.getText();
  221.             lastName = lastNameTxtbox.getText();
  222.             fullName = (firstName + " " + lastName);
  223.            
  224.             if(bankObject.checkPersonalNumber(persNr))
  225.             {
  226.                 bankObject.createCustomer(persNr, fullName);
  227.             }
  228.             setVisible(false);
  229.         }
  230.         if(clickedButton == returnButton)
  231.         {
  232.             setVisible(false);
  233.         }  
  234.     }
  235.    
  236.  
  237.    
  238. }
Add Comment
Please, Sign In to add comment