?? usermodify.java
字號:
package library.user;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import library.hibernate.UserTable;
import library.main.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
/**
* 修改用戶信息類,將新的用戶注冊信息保存到數據庫中
*
* @author lianhw
*
*/
public class UserModify extends JFrame implements ActionListener {
JPanel panel1, panel2;
Container container;
JLabel userLabel, passwordLabel, newPasswordLabel, passwordConfirmLabel,loginPrivelegeLabel;
JTextField userNameText;
JPasswordField passwordText, newPasswordText, passwordConfirmText;
JButton updateButton, cancelButton;
JComboBox loginPrivelegeComboBox;
public UserModify() {
super("更改密碼");
container = getContentPane();
container.setLayout(new BorderLayout());
// “用戶名”標簽
userLabel = new JLabel("用戶名", JLabel.CENTER);
// “原密碼”標簽
passwordLabel = new JLabel("原密碼", JLabel.CENTER);
// “新密碼”標簽
newPasswordLabel = new JLabel("新密碼", JLabel.CENTER);
// “確認新密碼”標簽
passwordConfirmLabel = new JLabel("確認新密碼", JLabel.CENTER);
//“選擇權限”標簽
loginPrivelegeLabel=new JLabel("登錄權限", JLabel.CENTER);
// 輸入用戶名文本框
userNameText = new JTextField(10);
// 輸入密碼文本框
passwordText = new JPasswordField(10);
// 輸入新密碼文本框
newPasswordText = new JPasswordField(10);
// 密碼確認文本框
passwordConfirmText = new JPasswordField(10);
// 選擇用戶權限
loginPrivelegeComboBox = new JComboBox();
loginPrivelegeComboBox.addItem("系統管理員");
loginPrivelegeComboBox.addItem("書籍管理員");
loginPrivelegeComboBox.addItem("借閱管理員");
// “更新”按鈕
updateButton = new JButton("更新");
// “取消”按鈕
cancelButton = new JButton("取消");
// 為“更新”按鈕添加動作監聽者
updateButton.addActionListener(this);
// 為“取消”按鈕添加動作監聽者
cancelButton.addActionListener(this);
panel1 = new JPanel();
panel1.setLayout(new GridLayout(5, 2));
panel1.add(userLabel);
panel1.add(userNameText);
panel1.add(passwordLabel);
panel1.add(passwordText);
panel1.add(newPasswordLabel);
panel1.add(newPasswordText);
panel1.add(passwordConfirmLabel);
panel1.add(passwordConfirmText);
panel1.add(loginPrivelegeLabel);
panel1.add(loginPrivelegeComboBox);
panel2 = new JPanel();
panel2.add(updateButton);
panel2.add(cancelButton);
container.add(panel1, BorderLayout.CENTER);
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() == updateButton) {
// 單擊“更新”按鈕將新的用戶信息保存到數據庫中
char[] password = passwordText.getPassword();
// 將密碼轉成會字符串
String passwordStr = new String(password);
char[] newPassword = newPasswordText.getPassword();
String newPasswordStr = new String(newPassword);
char[] confirmPassword = passwordConfirmText.getPassword();
String confirmPasswordStr = new String(confirmPassword);
// 判斷輸入的用戶名是否為空
if (userNameText.getText().trim().equals("")) {
JOptionPane.showMessageDialog(null, "用戶名不能為空!");
} else if (passwordStr.equals("")) {
// 判斷輸入的密碼是否為空
JOptionPane.showMessageDialog(null, "原密碼不能為空!");
} else if (!newPasswordStr.equals(confirmPasswordStr)) {
// 判斷輸入的新密碼和確認密碼是否一致
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(newPasswordText.getText().trim());
// 設置user對象的權限
user.setPower(loginPrivelegeComboBox.getSelectedItem()+"");
// 保存user對象
session.saveOrUpdate(user);
// 事務提交
tx.commit();
// 關閉session
session.close();
this.dispose();
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -