01: package net.ar.webonswing.petstore;
02:
03: import java.awt.event.*;
04:
05: import javax.swing.*;
06:
07: import net.ar.webonswing.*;
08: import net.ar.webonswing.petstore.helpers.*;
09: import net.ar.webonswing.petstore.model.*;
10: import net.ar.webonswing.swing.components.validators.*;
11:
12: public class LoginComponent extends JPanel {
13: protected String username;
14: protected String password;
15:
16: protected JTextField usernameField = new JTextField();
17: protected JPasswordField passwordField = new JPasswordField();
18:
19: protected Binder binder = new Binder();
20: protected ActionListener loginListener;
21: private JValidator loginValidator;
22: protected JGroupValidator groupValidator;
23:
24: public LoginComponent(ActionListener aLoginListener,
25: JValidator aValidator) {
26: loginListener = aLoginListener;
27: loginValidator = aValidator;
28: loginValidator.setRemoteValidation(false);
29:
30: init();
31: }
32:
33: protected void init() {
34: binder.setModel(this );
35: binder.add(usernameField, "username");
36: binder.add(passwordField, "password");
37:
38: binder.modelToView();
39:
40: JValidator usernameValidator = new JRequiredFieldValidator(
41: usernameField);
42: JValidator passwordValidator = new JRegularExpressionValidator(
43: passwordField, "",
44: "Password must include one of these (!@#$%^&*+;:)",
45: true, ".*[!@#$%^&*+;:].*");
46: groupValidator = new JGroupValidator(new JValidator[] {
47: usernameValidator, passwordValidator, loginValidator },
48: true);
49: JButton loginButton = new JButton("Login");
50: loginButton.addActionListener(loginListener);
51:
52: JButton registerButton = new JButton("Register");
53: registerButton.addActionListener(new ActionListener() {
54: public void actionPerformed(ActionEvent e) {
55: WosFramework.showChildWindow(LoginComponent.this
56: .getTopLevelAncestor(), new AccountView(
57: new Customer(), false));
58: }
59: });
60:
61: groupValidator.addShooter(loginButton);
62:
63: binder.addViewsToContainer(this );
64: add(loginButton).setName("login");
65: add(registerButton).setName("registerButton");
66: add(usernameValidator).setName("usernameValidator");
67: add(passwordValidator).setName("passwordValidator");
68: add(groupValidator).setName("groupValidator");
69: add(loginValidator).setName("loginValidator");
70: }
71:
72: public String getPassword() {
73: binder.viewToModel();
74: return password;
75: }
76:
77: public void setPassword(String aPassword) {
78: this .password = aPassword;
79: }
80:
81: public String getUsername() {
82: binder.viewToModel();
83: return username;
84: }
85:
86: public void setUsername(String anUsername) {
87: this .username = anUsername;
88: }
89:
90: public JGroupValidator getGroupValidator() {
91: return groupValidator;
92: }
93:
94: public void setGroupValidator(JGroupValidator aGroupValidator) {
95: groupValidator = aGroupValidator;
96: }
97: }
|