📄 passwordchange.java
字号:
package bookmanage;
import java.awt.*;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* <p>Title: 图书管理系统</p>
*
* <p>Description: PasswordChange类是用来修改管理员的密码</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: 浙江工业大学信息学院计算机系</p>
*
* @author 曾文秋
* @version 1.0
*/
public class PasswordChange
extends JDialog {
JLabel jLabel1 = new JLabel();
JTextField jTextFieldName = new JTextField();//用户名
JPasswordField jTextFieldOldPassword = new JPasswordField();//旧密码
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JPasswordField jTextFieldNewPassword = new JPasswordField();//新密码
JPasswordField jTextFieldAffirmPassword = new JPasswordField();//确认密码
JLabel jLabel4 = new JLabel();
JButton jButtonAlter = new JButton();//修改按钮
JButton jButtonCancel = new JButton();//取消按钮
ResultSet rs;//定义结果集
private DBManager db = new DBManager();//定义数据库操作对象
String strSQL=null;//存放SQL语句
/**
* 构造函数
* @param owner Frame
* @param title String
* @param modal boolean
*/
public PasswordChange(Frame owner, String title, boolean modal) {
super(owner, title, modal);
try {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
jbInit();
pack();
}
catch (Exception exception) {
exception.printStackTrace();
}
}
public PasswordChange() {
this(new Frame(), "PasswordChange", false);
}
/**
* 初始化窗口
* @throws Exception
*/
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
this.setResizable(false);
this.setTitle("管理员密码修改");
jLabel1.setText("用户名:");
jLabel1.setBounds(new Rectangle(66, 39, 55, 24));
jTextFieldName.setBounds(new Rectangle(137, 39, 92, 25));
jTextFieldName.setEditable(false);
jTextFieldName.setText(MainFrame.UserName);
jTextFieldOldPassword.setBounds(new Rectangle(137, 80, 92, 25));
jLabel2.setText("旧密码:");
jLabel2.setBounds(new Rectangle(66, 80, 55, 24));
jLabel3.setText("新密码:");
jLabel3.setBounds(new Rectangle(66, 122, 55, 24));
jTextFieldNewPassword.setBounds(new Rectangle(137, 122, 92, 25));
jTextFieldAffirmPassword.setBounds(new Rectangle(137, 163, 92, 25));
jLabel4.setText("确认密码:");
jLabel4.setBounds(new Rectangle(66, 163, 64, 24));
jButtonAlter.setBounds(new Rectangle(54, 214, 81, 23));
jButtonAlter.setText("确认修改");
//增加事件监听
jButtonAlter.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jButtonAlter_actionPerformed(e);
}
});
jButtonCancel.setBounds(new Rectangle(170, 214, 81, 23));
jButtonCancel.setText("取消");
jButtonCancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jButtonCancel_actionPerformed(e);
}
});
//将下列组件加入到容器中
this.getContentPane().add(jLabel3);
this.getContentPane().add(jLabel4);
this.getContentPane().add(jTextFieldName);
this.getContentPane().add(jTextFieldOldPassword);
this.getContentPane().add(jTextFieldNewPassword);
this.getContentPane().add(jTextFieldAffirmPassword);
this.getContentPane().add(jLabel1);
this.getContentPane().add(jLabel2);
this.getContentPane().add(jButtonCancel);
this.getContentPane().add(jButtonAlter);
}
/**
* 按下修改按钮后所触发的事件
*
* @param e ActionEvent
*/
public void jButtonAlter_actionPerformed(ActionEvent e) {
String UserName=null;
String OldPassword=null;
String NewPassword=null;
String AffirmPassword=null;
UserName=jTextFieldName.getText();//获得用户名
UserName=UserName.trim();
OldPassword=new String(jTextFieldOldPassword.getPassword());//获得旧密码
OldPassword=OldPassword.trim();
NewPassword=new String(jTextFieldNewPassword.getPassword());//获得新密码
NewPassword=NewPassword.trim();
AffirmPassword=new String(jTextFieldAffirmPassword.getPassword());//获得确认密码
AffirmPassword=AffirmPassword.trim();
//校验用户名是否为空
if(UserName.equals("")){
JOptionPane.showMessageDialog(this, "用户名不许为空!");
return;
}
//校验原密码是否为空
if(OldPassword.equals("")){
JOptionPane.showMessageDialog(this, "旧密码不许为空!");
return;
}
if(NewPassword.equals("")){
JOptionPane.showMessageDialog(this, "新密码不许为空!");
return;
}
if(AffirmPassword.equals("")){
JOptionPane.showMessageDialog(this, "确认密码不许为空!");
return;
}
//检验用户两次输入的密码是否一致
if(!NewPassword.equals(AffirmPassword)){
JOptionPane.showMessageDialog(this, "两次输入的密码不一致!");
jTextFieldNewPassword.setText("");
jTextFieldAffirmPassword.setText("");
return;
}
//检验用户名是否存在
strSQL = "select * from administrator where id='" +
UserName + "' and password='" +
OldPassword + "'";
rs = db.getResult(strSQL);//得到满足条件的结果集
boolean isexist = false;
try {
isexist = rs.first();
}
catch (SQLException ex1) {
}
//若用户名不存在,提示警告信息提醒用户从新输入
if (!isexist){
JOptionPane.showMessageDialog(null, "原密码不正确!");
jTextFieldOldPassword.setText("");
return;
}
//若存在,执行更新操作
else {
//生成更新sql语句
strSQL = "update administrator set password='" + NewPassword +
"' where id='" + UserName + "'";
//由数据库操作对象执行数据库操作,并返回操作成功失败的提示信息
if (db.executeSql(strSQL)) {
JOptionPane.showMessageDialog(null, "成功更新!");
this.dispose();//销毁窗口
}
else {
JOptionPane.showMessageDialog(null, " 更新失败,请重新操作!");
}
}
db.close();
}
public void jButtonCancel_actionPerformed(ActionEvent e) {
this.dispose();//销毁窗口
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -