admin completed
[RRRRHHHH_Code] / ruralHouses / src / gui / LoginGUI.java
1 package gui;
2
3 import java.awt.Color;
4 import java.awt.Frame;
5 import java.awt.event.ActionEvent;
6 import java.awt.event.ActionListener;
7
8 import javax.swing.JButton;
9 import javax.swing.JFrame;
10 import javax.swing.JLabel;
11 import javax.swing.JPanel;
12 import javax.swing.JPasswordField;
13 import javax.swing.JTextField;
14 import javax.swing.SwingConstants;
15
16 import businessLogic.LoginManager;
17 import businessLogic.LoginManagerInterface;
18 import domain.Account;
19 import domain.Owner;
20
21 import javax.swing.JRadioButton;
22 import javax.swing.ButtonGroup;
23
24 public class LoginGUI extends JFrame {
25
26         private static final long serialVersionUID= 1L;
27         private JPanel jContentPane = null;
28         private JTextField usernameField;
29         private JPasswordField passwordField;
30         private LoginManagerInterface loginManager = new LoginManager();
31         private JLabel loginFeedback;
32         private final ButtonGroup buttonGroup = new ButtonGroup();
33         public LoginGUI() {
34                 super();
35                 initialize();
36         }
37
38         private void initialize() {
39                 this.setSize(449, 293);
40                 this.setContentPane(getJContentPane());
41                 this.setTitle("Login");
42
43         }
44
45         private JPanel getJContentPane() {
46                 if (jContentPane == null) {
47                         jContentPane = new JPanel();
48                         jContentPane.setLayout(null);
49                         
50                         JLabel usernameTag = new JLabel("Username:");
51                         usernameTag.setBounds(56, 67, 104, 20);
52                         jContentPane.add(usernameTag);
53                         
54                         JLabel passwordTag = new JLabel("Password:");
55                         passwordTag.setBounds(56, 132, 104, 15);
56                         jContentPane.add(passwordTag);
57                         
58                         usernameField = new JTextField();
59                         usernameField.setBounds(202, 65, 133, 25);
60                         jContentPane.add(usernameField);
61                         usernameField.setColumns(10);
62                         
63                         passwordField = new JPasswordField();
64                         passwordField.setBounds(202, 122, 133, 25);
65                         jContentPane.add(passwordField);
66                         
67                         JButton loginButton = new JButton("Login");
68                         loginButton.addActionListener(new ActionListener() {
69                                 public void actionPerformed(ActionEvent arg0) {
70
71                                 jButton_ActionPerformed(arg0);  
72                                 }                                       
73                         });
74                         loginButton.setBounds(164, 179, 117, 25);
75                         jContentPane.add(loginButton);
76                         
77                         loginFeedback = new JLabel("");
78                         loginFeedback.setForeground(Color.RED);
79                         loginFeedback.setHorizontalAlignment(SwingConstants.CENTER);
80                         loginFeedback.setBounds(83, 216, 269, 25);
81                         jContentPane.add(loginFeedback);
82                 }
83                 return jContentPane;
84         }
85         
86         private void jButton_ActionPerformed(ActionEvent e){
87                         
88                 Account acc = loginManager.checkCredentials(usernameField.getText(),new String(passwordField.getPassword()));
89                 if (acc.getAdmin()) {
90                         this.setVisible(false);
91                         Frame a = new AdminMenuGUI();
92                         a.setVisible(true);
93                 } else {
94                         if(acc.getOwner()==null){
95                                 loginFeedback.setText("Incorrect username or password");
96                         }else{
97                                 this.setVisible(false);
98                                 Frame a = new OwnerMenuGUI(acc.getOwner());
99                                 a.setVisible(true);             
100                         }
101                 }
102                 
103         }
104 }  // @jve:decl-index=0:visual-constraint="222,33"
105