[java]代码库
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
* <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
* <br>Copyright (C), 2009-2010, yangenxiong
* <br>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<Role> 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;
}
}
[源代码打包下载]