8.9.2添加用户类的实现
本节实现增加用户类,将新用户信息保存道数据库中,从而完成用户的注册。其运行效果图如图8-18所示。将新用户的用户名、密码和登录权限等信息提交到数据库中保存。
![]() |
| 图8-18 新增用户效果图 |
跟我做
(1)在“Library”工程的“library.user”包中创建“UserAdd.java”文件,在该文件中输入如下代码:
package library.user;
/**
* 增加用户类,将用户信息保存到数据库中
*
* @author lianhw
*
*/
public class UserAdd extends JFrame implements ActionListener {
Container container;
JPanel panel1, panel2;
JLabel userNameLabel, passwordLabel, passwordConfirmLabel, loginPrivelegeLabel;
JTextField userNameText;
JPasswordField passwordText, passwordConfirmText;
JComboBox loginPrivelegeComboBox;
JButton addButton, cancelButton;
public UserAdd() {
super("添加用户");
container = getContentPane();
container.setLayout(new BorderLayout());
//“用户名”标签
userNameLabel = new JLabel("用户名", JLabel.CENTER);
//“密码”标签
passwordLabel = new JLabel("密码", JLabel.CENTER);
//“确认密码”标签
passwordConfirmLabel = new JLabel("确认密码", JLabel.CENTER);
//“登录权限”标签
loginPrivelegeLabel = new JLabel("登录权限", JLabel.CENTER);
//输入用户名的文本框
userNameText = new JTextField(10);
//输入密码的文本框
passwordText = new JPasswordField(10);
//密码确认文本框
passwordConfirmText = new JPasswordField(10);
//选择用户权限
loginPrivelegeComboBox = new JComboBox();
loginPrivelegeComboBox.addItem("系统管理员");
loginPrivelegeComboBox.addItem("书籍管理员");
loginPrivelegeComboBox.addItem("借阅管理员");
//“添加”按钮
addButton = new JButton("添加");
//“取消”按钮
cancelButton = new JButton("取消");
//为“添加”按钮加入事件监听者
addButton.addActionListener(this);
//为“取消”按钮加入事件监听者
cancelButton.addActionListener(this);
panel1 = new JPanel();
panel1.setLayout(new GridLayout(4, 2));
panel1.add(userNameLabel);
panel1.add(userNameText);
panel1.add(passwordLabel);
panel1.add(passwordText);
panel1.add(passwordConfirmLabel);
panel1.add(passwordConfirmText);
panel1.add(loginPrivelegeLabel);
panel1.add(loginPrivelegeComboBox);
container.add(panel1, BorderLayout.CENTER);
panel2 = new JPanel();
panel2.add(addButton);
panel2.add(cancelButton);
container.add(panel2, BorderLayout.SOUTH);
//设置窗口的大小
setSize(300, 300);
}
/**
* 动作响应方法,将新增的用户信息提交到数据库中
*
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent action) {
if (action.getSource() == cancelButton) {
// 单击“取消”按钮不作任何事情
this.dispose();
} else if (action.getSource() == addButton) {
// 单击“添加”按钮后将用户信息提交到数据库中
if (userNameText.getText().trim().equals("")) {
// 判断用户名是否为空
JOptionPane.showMessageDialog(null, "用户名不能为空!");
} else if (passwordText.getText().trim().equals("")) {
// 判断密码是否为空
JOptionPane.showMessageDialog(null, "密码不能为空!");
} else if (!passwordText.getText().trim().equals(
passwordConfirmText.getText().trim())) {
// 判断两次输入的密码是否一致
JOptionPane.showMessageDialog(null, "两次输入的密码不一致!");
} else {
// 取得SessionFactory
SessionFactory sessionFactory = HibernateUtil
.getSessionFactory();
// 打开session
Session session = sessionFactory.openSession();
// 创建一个事务
Transaction tx = session.beginTransaction();
//创建UserTable对象
UserTable user = new UserTable();
//设置user对象的名字
user.setUserName(userNameText.getText().trim());
//设置user对象的密码
user.setPassword(passwordText.getText().trim());
//设置usr对象的权限
user.setPower(loginPrivelegeComboBox.getSelectedItem() + "");
//保存user对象
session.saveOrUpdate(user);
// 事务提交
tx.commit();
// 关闭session
session.close();
this.dispose();
}
}
}
}
|
| 回书目 上一节 |
|
· Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. · 08年5月各大网上书店及.. |
· 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. |
|
||||
| · ASP.NET开发教程 · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · ARP攻击防范与解决方案 · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 |
· SQL Server 2008/2005.. · SQL Server入门到精通 · 网络工程师职业规划与.. · 浏览器的战国时代 · 运营商封堵ADSL共享 中.. · 微软出价446亿美元收购.. · 技术人求职简历完备手册 · 开源虚拟化技术Xen |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Apache技术专题 · Windows集群服务应用 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. · 专题:AIX操作系统管理.. · 访问控制列表(ACL)介绍 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · 三层交换技术专题 · Apache技术专题 · 企业数据恢复指南 · Windows集群服务应用 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · ASP.NET开发教程 · PHP开发应用手册 |
|||