📄 registerpane.java
字号:
package com.cownew.phoneshow;
import nextapp.echo2.app.Button;
import nextapp.echo2.app.Color;
import nextapp.echo2.app.Extent;
import nextapp.echo2.app.Grid;
import nextapp.echo2.app.Label;
import nextapp.echo2.app.PasswordField;
import nextapp.echo2.app.Row;
import nextapp.echo2.app.SplitPane;
import nextapp.echo2.app.TextField;
import nextapp.echo2.app.WindowPane;
import nextapp.echo2.app.event.ActionEvent;
import nextapp.echo2.app.event.ActionListener;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.validator.EmailValidator;
import com.cownew.phoneshow.basedata.user.IUserDAO;
import com.cownew.phoneshow.basedata.user.UserInfo;
import com.cownew.phoneshow.framework.common.PISException;
import com.cownew.phoneshow.framework.common.Resources;
import com.cownew.phoneshow.framework.common.ServiceLocator;
class RegisterPane extends WindowPane
{
private static final Extent PX_300 = new Extent(300, Extent.PX);
private TextField userIdField;
private PasswordField pwdField;
private PasswordField pwdField2;
private TextField emailField;
private Label labelEmailError;
public RegisterPane()
{
super();
SplitPane splitPane = new SplitPane(
SplitPane.ORIENTATION_VERTICAL_BOTTOM_TOP, new Extent(32));
add(splitPane);
Row controlRow = new Row();
controlRow.setStyleName("ControlPane");
splitPane.add(controlRow);
Button btnLogin = new Button("注册", Resources.ICON_24_YES);
btnLogin.setStyleName("ControlPane.Button");
btnLogin.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
processReg();
}
});
controlRow.add(btnLogin);
Grid layoutGrid = new Grid(3);
layoutGrid.setStyleName("LoginScreen.LayoutGrid");
splitPane.add(layoutGrid);
Label labelUserId = new Label("用户名:");
labelUserId.setStyleName("LoginScreen.Prompt");
layoutGrid.add(labelUserId);
userIdField = new TextField();
userIdField.setWidth(PX_300);
userIdField.setStyleName("Default");
layoutGrid.add(userIdField);
Button btnValidate = new Button("检验用户名");
btnValidate.setStyleName("ControlPane.Button");
btnValidate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
validateUserId();
}
});
layoutGrid.add(btnValidate);
Label labelPwd = new Label("密码:");
labelPwd.setStyleName("LoginScreen.Prompt");
layoutGrid.add(labelPwd);
pwdField = new PasswordField();
pwdField.setWidth(PX_300);
pwdField.setStyleName("Default");
layoutGrid.add(pwdField);
layoutGrid.add(new Label(""));
Label labelPwd2 = new Label("再次输入密码:");
labelPwd2.setStyleName("LoginScreen.Prompt");
layoutGrid.add(labelPwd2);
pwdField2 = new PasswordField();
pwdField2.setWidth(PX_300);
pwdField2.setStyleName("Default");
layoutGrid.add(pwdField2);
layoutGrid.add(new Label(""));
Label labelEmail = new Label("邮箱:");
labelEmail.setStyleName("LoginScreen.Prompt");
layoutGrid.add(labelEmail);
emailField = new TextField();
emailField.setWidth(PX_300);
emailField.setStyleName("Default");
layoutGrid.add(emailField);
labelEmailError = new Label();
labelEmailError.setBackground(Color.RED);
layoutGrid.add(labelEmailError);
MainApp.getActive().setFocusedComponent(userIdField);
}
// 验证用户名是否已经被占用
private void validateUserId()
{
IUserDAO dao = (IUserDAO) ServiceLocator.getService(IUserDAO.class);
if (dao.userIdExists(userIdField.getText()))
{
MainApp.showInfo("用户名已经存在!");
} else
{
MainApp.showInfo("恭喜,此用户名还未被申请!");
}
}
// 处理注册
private void processReg()
{
String userId = userIdField.getText();
String pwd = pwdField.getText();
String pwd2 = pwdField2.getText();
// 校验两次密码输入的是否一致
if (!pwd.equals(pwd2))
{
MainApp.showInfo("两次输入的密码不一致!");
return;
}
String email = emailField.getText();
if (StringUtils.isEmpty(email))
{
labelEmailError.setText("请填写邮箱!");
return;
}
// 校验邮箱的格式是否正确
if (!EmailValidator.getInstance().isValid(email))
{
labelEmailError.setText("邮箱格式错误!");
return;
}
labelEmailError.setText("");
UserInfo user = new UserInfo();
user.setPassword(DigestUtils.md5Hex(pwd));
user.setUserId(userId);
user.setEmail(email);
user.setWallpaper("");
IUserDAO dao = (IUserDAO) ServiceLocator.getService(IUserDAO.class);
try
{
// 创建用户
dao.createNew(user);
} catch (PISException e)
{
//如果创建过程发生错误,则提示用户
MainApp.showInfo(e.getMessage());
return;
}
MainApp.showInfo("注册成功!");
//关闭界面
userClose();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -