⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registerpane.java

📁 基于Ajax的WebOS————PhoneShow案例
💻 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 + -