5 import java.awt.event.ActionEvent;
6 import java.awt.event.ActionListener;
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;
16 import businessLogic.LoginManager;
17 import businessLogic.LoginManagerInterface;
18 import domain.Account;
20 public class LoginGUI extends JFrame {
22 private static final long serialVersionUID= 1L;
23 private JPanel jContentPane = null;
24 private JTextField usernameField;
25 private JPasswordField passwordField;
26 private LoginManagerInterface loginManager = new LoginManager();
27 private JLabel loginFeedback;
33 private void initialize() {
34 this.setSize(449, 293);
35 this.setContentPane(getJContentPane());
36 this.setTitle("Login");
40 private JPanel getJContentPane() {
41 if (jContentPane == null) {
42 jContentPane = new JPanel();
43 jContentPane.setLayout(null);
45 JLabel usernameTag = new JLabel("Username:");
46 usernameTag.setBounds(56, 67, 104, 20);
47 jContentPane.add(usernameTag);
49 JLabel passwordTag = new JLabel("Password:");
50 passwordTag.setBounds(56, 132, 104, 15);
51 jContentPane.add(passwordTag);
53 usernameField = new JTextField();
54 usernameField.setBounds(202, 65, 133, 25);
55 jContentPane.add(usernameField);
56 usernameField.setColumns(10);
58 passwordField = new JPasswordField();
59 passwordField.setBounds(202, 122, 133, 25);
60 jContentPane.add(passwordField);
62 JButton loginButton = new JButton("Login");
63 loginButton.addActionListener(new ActionListener() {
64 public void actionPerformed(ActionEvent arg0) {
66 jButton_ActionPerformed(arg0);
69 loginButton.setBounds(164, 179, 117, 25);
70 jContentPane.add(loginButton);
72 loginFeedback = new JLabel("");
73 loginFeedback.setForeground(Color.RED);
74 loginFeedback.setHorizontalAlignment(SwingConstants.CENTER);
75 loginFeedback.setBounds(83, 216, 269, 25);
76 jContentPane.add(loginFeedback);
81 private void jButton_ActionPerformed(ActionEvent e){
83 Account acc = loginManager.checkCredentials(usernameField.getText(),new String(passwordField.getPassword()));
84 if (acc == null) loginFeedback.setText("Incorrect username or password");
85 else if( acc.getAdmin()) {
86 this.setVisible(false);
87 Frame a = new AdminMenuGUI();
90 if(acc.getOwner()==null){
91 loginFeedback.setText("Incorrect username or password");
93 this.setVisible(false);
94 Frame a = new OwnerMenuGUI(acc.getOwner());
100 } // @jve:decl-index=0:visual-constraint="222,33"