Possibility of registering new owners added
[RRRRHHHH_Code] / ruralHouses / src / gui / OwnerRegistrationGUI.java
1 package gui;
2
3 import java.awt.BorderLayout;
4 import java.awt.EventQueue;
5 import java.awt.Frame;
6
7 import javax.swing.JFrame;
8 import javax.swing.JPanel;
9 import javax.swing.border.EmptyBorder;
10 import javax.swing.JLabel;
11 import javax.swing.JTextField;
12 import javax.swing.JButton;
13
14 import businessLogic.AdminManager;
15 import domain.Account;
16 import domain.Owner;
17
18 import java.awt.Color;
19 import java.awt.event.ActionEvent;
20 import java.awt.event.ActionListener;
21
22 public class OwnerRegistrationGUI extends JFrame {
23
24         private JPanel panel;
25         private JTextField nameField;
26         private JTextField userNameField;
27         private AdminManager am = new AdminManager();
28         private JTextField passField;
29         private JTextField bank1Field;
30         private JTextField bank2Field;
31         private JTextField bank3Field;
32         private JTextField bank4Field;
33         private JTextField emailField;
34         private JLabel lblWhenAcceptedYou;
35         private JLabel feedback;
36
37         /**
38          * Create the frame.
39          */
40         public OwnerRegistrationGUI() {
41                 setTitle("Owner registration");
42                 setBounds(100, 100, 500, 400);
43                 panel = new JPanel();
44                 panel.setBorder(new EmptyBorder(5, 5, 5, 5));
45                 setContentPane(panel);
46                 panel.setLayout(null);
47
48                 JLabel nameLb = new JLabel("Name:");
49                 nameLb.setBounds(37, 45, 46, 14);
50                 panel.add(nameLb);
51
52                 nameField = new JTextField();
53                 nameField.setBounds(147, 42, 86, 20);
54                 panel.add(nameField);
55                 nameField.setColumns(10);
56
57                 JLabel lblUsername = new JLabel("Username:");
58                 lblUsername.setBounds(37, 212, 69, 14);
59                 panel.add(lblUsername);
60
61                 userNameField = new JTextField();
62                 userNameField.setBounds(147, 209, 86, 20);
63                 panel.add(userNameField);
64                 userNameField.setColumns(10);
65
66                 JLabel lblPassword = new JLabel("Password:");
67                 lblPassword.setBounds(37, 258, 69, 14);
68                 panel.add(lblPassword);
69
70                 passField = new JTextField();
71                 passField.setBounds(147, 255, 86, 20);
72                 panel.add(passField);
73                 passField.setColumns(10);
74
75                 JLabel lblBankAccount = new JLabel("Bank account:");
76                 lblBankAccount.setBounds(37, 94, 69, 14);
77                 panel.add(lblBankAccount);
78
79                 bank1Field = new JTextField();
80                 bank1Field.setBounds(147, 91, 61, 20);
81                 panel.add(bank1Field);
82
83                 bank2Field = new JTextField();
84                 bank2Field.setBounds(218, 91, 61, 20);
85                 panel.add(bank2Field);
86
87                 bank3Field = new JTextField();
88                 bank3Field.setBounds(289, 91, 32, 20);
89                 panel.add(bank3Field);
90
91                 bank4Field = new JTextField();
92                 bank4Field.setBounds(331, 91, 117, 20);
93                 panel.add(bank4Field);
94
95                 JButton btnSendRegistrationRequest = new JButton(
96                                 "Send registration request");
97                 btnSendRegistrationRequest.setBounds(127, 316, 194, 23);
98                 btnSendRegistrationRequest.addActionListener(new ActionListener() {
99                         public void actionPerformed(ActionEvent arg0) {
100
101                                 jButton_ActionPerformed(arg0);
102                         }
103                 });
104
105                 panel.add(btnSendRegistrationRequest);
106
107                 JLabel lblEmail = new JLabel("E-mail:");
108                 lblEmail.setBounds(37, 155, 46, 14);
109                 panel.add(lblEmail);
110
111                 emailField = new JTextField();
112                 emailField.setBounds(147, 152, 148, 20);
113                 panel.add(emailField);
114                 emailField.setColumns(10);
115
116                 lblWhenAcceptedYou = new JLabel(
117                                 "When accepted you will receive an e-mail");
118                 lblWhenAcceptedYou.setForeground(Color.GREEN);
119                 lblWhenAcceptedYou.setBounds(127, 291, 214, 14);
120                 panel.add(lblWhenAcceptedYou);
121
122                 feedback = new JLabel("");
123                 feedback.setForeground(Color.RED);
124                 feedback.setEnabled(false);
125                 feedback.setBounds(127, 344, 214, 20);
126                 panel.add(feedback);
127         }
128
129         private void jButton_ActionPerformed(ActionEvent e) {
130
131                 Owner own = new Owner(this.nameField.getText(),
132                                 this.bank1Field.getText() + " " + this.bank2Field.getText()
133                                                 + " " + this.bank3Field.getText() + " "
134                                                 + this.bank4Field.getText(), this.emailField.getText());
135                 Account acc = new Account(this.userNameField.getText(),
136                                 this.passField.getText(), own);
137
138                 if (this.am.addAccount(acc)) {
139                         this.feedback.setText("Request sended");
140                 } else {
141                         this.feedback.setText("Can't send the request");
142                 }
143
144         }
145 }