4 import java.awt.event.ActionEvent;
5 import java.awt.event.ActionListener;
6 import java.rmi.Naming;
7 import java.rmi.RemoteException;
9 import javax.swing.JButton;
10 import javax.swing.JFrame;
11 import javax.swing.JLabel;
12 import javax.swing.JPanel;
13 import javax.swing.JTextField;
14 import javax.swing.border.EmptyBorder;
16 import common.AdminInterface;
18 import configuration.___IntNames;
21 public class OwnerRegistrationGUI extends JFrame {
26 private static final long serialVersionUID = 1L;
28 private JTextField nameField;
29 private JTextField userNameField;
30 private AdminInterface am = null;
31 private JTextField passField;
32 private JTextField bank1Field;
33 private JTextField bank2Field;
34 private JTextField bank3Field;
35 private JTextField bank4Field;
36 private JTextField emailField;
37 private JLabel lblWhenAcceptedYou;
38 private JLabel feedback;
43 public OwnerRegistrationGUI() {
46 am = (AdminInterface) Naming.lookup(___IntNames.AdminManager);
47 } catch (Exception e1) {
48 System.out.println("Error accessing remote authentication: "
51 setTitle("Owner registration");
52 setBounds(100, 100, 500, 400);
54 panel.setBorder(new EmptyBorder(5, 5, 5, 5));
55 setContentPane(panel);
56 panel.setLayout(null);
58 JLabel nameLb = new JLabel("Name:");
59 nameLb.setBounds(37, 45, 46, 14);
62 nameField = new JTextField();
63 nameField.setBounds(147, 42, 86, 20);
65 nameField.setColumns(10);
67 JLabel lblUsername = new JLabel("Username:");
68 lblUsername.setBounds(37, 212, 69, 14);
69 panel.add(lblUsername);
71 userNameField = new JTextField();
72 userNameField.setBounds(147, 209, 86, 20);
73 panel.add(userNameField);
74 userNameField.setColumns(10);
76 JLabel lblPassword = new JLabel("Password:");
77 lblPassword.setBounds(37, 258, 69, 14);
78 panel.add(lblPassword);
80 passField = new JTextField();
81 passField.setBounds(147, 255, 86, 20);
83 passField.setColumns(10);
85 JLabel lblBankAccount = new JLabel("Bank account:");
86 lblBankAccount.setBounds(37, 94, 69, 14);
87 panel.add(lblBankAccount);
89 bank1Field = new JTextField();
90 bank1Field.setBounds(147, 91, 61, 20);
91 panel.add(bank1Field);
93 bank2Field = new JTextField();
94 bank2Field.setBounds(218, 91, 61, 20);
95 panel.add(bank2Field);
97 bank3Field = new JTextField();
98 bank3Field.setBounds(289, 91, 32, 20);
99 panel.add(bank3Field);
101 bank4Field = new JTextField();
102 bank4Field.setBounds(331, 91, 117, 20);
103 panel.add(bank4Field);
105 JButton btnSendRegistrationRequest = new JButton(
106 "Send registration request");
107 btnSendRegistrationRequest.setBounds(127, 316, 194, 23);
108 btnSendRegistrationRequest.addActionListener(new ActionListener() {
109 public void actionPerformed(ActionEvent arg0) {
111 jButton_ActionPerformed(arg0);
115 panel.add(btnSendRegistrationRequest);
117 JLabel lblEmail = new JLabel("E-mail:");
118 lblEmail.setBounds(37, 155, 46, 14);
121 emailField = new JTextField();
122 emailField.setBounds(147, 152, 148, 20);
123 panel.add(emailField);
124 emailField.setColumns(10);
126 lblWhenAcceptedYou = new JLabel(
127 "When accepted you will receive an e-mail");
128 lblWhenAcceptedYou.setForeground(Color.GREEN);
129 lblWhenAcceptedYou.setBounds(127, 291, 214, 14);
130 panel.add(lblWhenAcceptedYou);
132 feedback = new JLabel("");
133 feedback.setForeground(Color.RED);
134 feedback.setEnabled(false);
135 feedback.setBounds(127, 344, 214, 20);
139 private void jButton_ActionPerformed(ActionEvent e) {
144 "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$")
145 || !this.nameField.getText().isEmpty()||this.bank1Field.getText().length()!=4 || this.bank2Field.getText().length()!=4
146 ||this.bank3Field.getText().length()!=2 || this.bank4Field.getText().length()!=10) {
147 Owner own = new Owner(this.nameField.getText(),
148 this.bank1Field.getText() + " " + this.bank2Field.getText()
149 + " " + this.bank3Field.getText() + " "
150 + this.bank4Field.getText(),
151 this.emailField.getText());
154 if (this.am.addAccountRequest(this.userNameField.getText(),
155 this.passField.getText(), own)) {
156 this.am.saveInstance();
157 this.feedback.setText("Request sended");
159 this.feedback.setText("Can't send the request");
161 } catch (RemoteException e1) {
162 // TODO Auto-generated catch block
163 e1.printStackTrace();
166 this.feedback.setText("Bad formatted data");