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;
21 import javax.swing.JRadioButton;
22 import javax.swing.ButtonGroup;
24 public class LoginGUI extends JFrame {
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();
38 private void initialize() {
39 this.setSize(449, 293);
40 this.setContentPane(getJContentPane());
41 this.setTitle("Login");
45 private JPanel getJContentPane() {
46 if (jContentPane == null) {
47 jContentPane = new JPanel();
48 jContentPane.setLayout(null);
50 JLabel usernameTag = new JLabel("Username:");
51 usernameTag.setBounds(56, 67, 104, 20);
52 jContentPane.add(usernameTag);
54 JLabel passwordTag = new JLabel("Password:");
55 passwordTag.setBounds(56, 132, 104, 15);
56 jContentPane.add(passwordTag);
58 usernameField = new JTextField();
59 usernameField.setBounds(202, 65, 133, 25);
60 jContentPane.add(usernameField);
61 usernameField.setColumns(10);
63 passwordField = new JPasswordField();
64 passwordField.setBounds(202, 122, 133, 25);
65 jContentPane.add(passwordField);
67 JButton loginButton = new JButton("Login");
68 loginButton.addActionListener(new ActionListener() {
69 public void actionPerformed(ActionEvent arg0) {
71 jButton_ActionPerformed(arg0);
74 loginButton.setBounds(164, 179, 117, 25);
75 jContentPane.add(loginButton);
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);
86 private void jButton_ActionPerformed(ActionEvent e){
88 Account acc = loginManager.checkCredentials(usernameField.getText(),new String(passwordField.getPassword()));
90 this.setVisible(false);
91 Frame a = new AdminMenuGUI();
94 if(acc.getOwner()==null){
95 loginFeedback.setText("Incorrect username or password");
97 this.setVisible(false);
98 Frame a = new OwnerMenuGUI(acc.getOwner());
104 } // @jve:decl-index=0:visual-constraint="222,33"