package org.crazyit.transaction.ui.dialog; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.List; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPasswordField; import javax.swing.JTextField; import org.crazyit.transaction.model.Role; import org.crazyit.transaction.model.User; import org.crazyit.transaction.ui.UserPanel; import org.crazyit.transaction.util.ApplicationContext; import org.crazyit.transaction.util.ViewUtil; /** * 添加用户界面 * @author yangenxiong yangenxiong2009@gmail.com * @version 1.0 *
网站: 疯狂Java联盟 *
Copyright (C), 2009-2010, yangenxiong *
This program is protected by copyright laws. */ public class AddUserDialog extends JDialog { //用户名 private JLabel userNameLabel = new JLabel("用户名: "); private JTextField userName = new JTextField(10); //真实姓名 private JLabel realNameLabel = new JLabel("真实姓名: "); private JTextField realName = new JTextField(10); //密码 private JLabel passwordLabel = new JLabel("密码: "); private JPasswordField password = new JPasswordField(20); private JLabel roleLabel = new JLabel("角色: "); private JComboBox roleSelect = new JComboBox(); //按钮 private JButton confirmButton = new JButton("确定"); private JButton cancelButton = new JButton("取消"); private UserPanel userPanel; public AddUserDialog(UserPanel userPanel) { this.userPanel = userPanel; //用户名 Box userNameBox = Box.createHorizontalBox(); userNameBox.add(Box.createHorizontalStrut(30)); userNameBox.add(this.userNameLabel); userNameBox.add(this.userName); userNameBox.add(Box.createHorizontalStrut(30)); //真实姓名 Box realNameBox = Box.createHorizontalBox(); realNameBox.add(Box.createHorizontalStrut(17)); realNameBox.add(this.realNameLabel); realNameBox.add(this.realName); realNameBox.add(Box.createHorizontalStrut(30)); //密码 Box passwdBox = Box.createHorizontalBox(); passwdBox.add(Box.createHorizontalStrut(43)); passwdBox.add(this.passwordLabel); passwdBox.add(this.password); passwdBox.add(Box.createHorizontalStrut(30)); //角色选择 Box roleSelectBox = Box.createHorizontalBox(); roleSelectBox.add(Box.createHorizontalStrut(43)); roleSelectBox.add(this.roleLabel); roleSelectBox.add(this.roleSelect); roleSelectBox.add(Box.createHorizontalStrut(30)); //按钮 Box buttonBox = Box.createHorizontalBox(); buttonBox.add(this.confirmButton); buttonBox.add(Box.createHorizontalStrut(40)); buttonBox.add(this.cancelButton); Box mainBox = Box.createVerticalBox(); mainBox.add(Box.createVerticalStrut(20)); mainBox.add(userNameBox); mainBox.add(Box.createVerticalStrut(10)); mainBox.add(realNameBox); mainBox.add(Box.createVerticalStrut(10)); mainBox.add(passwdBox); mainBox.add(Box.createVerticalStrut(10)); mainBox.add(roleSelectBox); mainBox.add(Box.createVerticalStrut(10)); mainBox.add(buttonBox); mainBox.add(Box.createVerticalStrut(20)); this.add(mainBox); this.pack(); this.setResizable(false); this.setTitle("新建用户"); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)screen.getWidth()/4, (int)screen.getHeight()/5); initListeners(); } //创建角色下拉 private void createRoleSelect() { this.roleSelect.removeAllItems(); List roles = ApplicationContext.roleService.getRoles(); for (Role r : roles) { this.roleSelect.addItem(r); } } @Override public void setVisible(boolean b) { super.setVisible(b); if (b) createRoleSelect(); } private void initListeners() { this.confirmButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { add(); } }); this.cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { setVisible(false); } }); } //返回密码字符串 private String getPassword() { char[] passes = this.password.getPassword(); StringBuffer password = new StringBuffer(); for (char c : passes) { password.append(c); } return password.toString(); } //添加用户 private void add() { if (this.userName.getText().equals("") || this.realName.getText().equals("") || getPassword().equals("")) { ViewUtil.showWarn("请输入完成的用户信息", this); return; } try { //调用业务接口添加用户 ApplicationContext.userService.addUser(getUser()); this.setVisible(false); this.userPanel.readData(); clean(); } catch (Exception e) { e.printStackTrace(); ViewUtil.showWarn(e.getMessage(), this); } } //清空界面元素 private void clean() { this.userName.setText(""); this.realName.setText(""); this.password.setText(""); } //从界面元素中得到各个值, 并创建User对象 private User getUser() { String userName = this.userName.getText(); String realName = this.realName.getText(); String passwd = getPassword(); Role role = (Role)this.roleSelect.getSelectedItem(); User user = new User(); user.setUSER_NAME(userName); user.setREAL_NAME(realName); user.setPASS_WD(passwd); user.setROLE_ID(role.getID()); return user; } }