📄 changepwddialog.java
字号:
package mysiloer;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.ResultSet;
/**
* <p>Title: MySiloer</p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: yskey</p>
*
* @author 杨涛
* @version 1.0
*/
public class ChangePwdDialog
extends JDialog {
JPanel mainPanel = new JPanel();
GridLayout gridLayout1 = new GridLayout();
JLabel userNamelLab = new JLabel();
JTextField userNameField = new JTextField();
JLabel reNewPwdLab = new JLabel();
JPasswordField reNewPwdField = new JPasswordField();
JLabel newPwdLab = new JLabel();
JPasswordField oldPwdField = new JPasswordField();
JLabel oldPwdLab = new JLabel();
JPasswordField newPwdField = new JPasswordField();
JPanel contentPane = new JPanel();
BorderLayout borderLayout1 = new BorderLayout();
JPanel controlPanel = new JPanel();
JButton cancelButt = new JButton();
JButton okButt = new JButton();
JLabel jLabel1 = new JLabel();
Border border1 = BorderFactory.createEmptyBorder(5, 10, 10, 10);
Border border2 = BorderFactory.createEmptyBorder(10, 10, 10, 10);
Border border3 = BorderFactory.createEmptyBorder(5, 10, 10, 10);
Connection con = null;
public ChangePwdDialog(UserPanel owner, String title, boolean modal) {
super(new JFrame(), title, modal);
try {
con = owner.con;
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
jbInit();
pack();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
setLocation( (screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2 - 150);
}
catch (Exception exception) {
exception.printStackTrace();
}
}
public ChangePwdDialog() {
// this(new Frame(), "ChangePwdDialog", false);
}
private void jbInit() throws Exception {
mainPanel.setLayout(gridLayout1);
gridLayout1.setColumns(2);
gridLayout1.setHgap(5);
gridLayout1.setRows(4);
gridLayout1.setVgap(5);
userNamelLab.setText("要更改的用户名:");
userNameField.setText("");
reNewPwdLab.setText("请再确认新密码:");
reNewPwdField.setText("");
newPwdLab.setText("请输入新密码:");
oldPwdField.setText("");
oldPwdLab.setText("请输入旧密码:");
newPwdField.setText("");
contentPane.setLayout(borderLayout1);
cancelButt.setText("取 消");
cancelButt.addActionListener(new ChangePwdDialog_jButton1_actionAdapter(this));
okButt.setToolTipText("");
okButt.setText("确 定");
okButt.addActionListener(new ChangePwdDialog_okButt_actionAdapter(this));
jLabel1.setText(" ");
mainPanel.setBorder(border2);
controlPanel.setBorder(border3);
mainPanel.add(userNamelLab);
mainPanel.add(userNameField);
mainPanel.add(oldPwdLab);
mainPanel.add(oldPwdField);
mainPanel.add(newPwdLab);
mainPanel.add(newPwdField);
mainPanel.add(reNewPwdLab);
mainPanel.add(reNewPwdField);
this.getContentPane().add(contentPane, java.awt.BorderLayout.NORTH);
contentPane.add(mainPanel, java.awt.BorderLayout.CENTER);
contentPane.add(controlPanel, java.awt.BorderLayout.SOUTH);
controlPanel.add(okButt);
controlPanel.add(jLabel1);
controlPanel.add(cancelButt);
userNameField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
okButt_actionPerformed(e);
}});
oldPwdField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
okButt_actionPerformed(e);
}});
newPwdField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
okButt_actionPerformed(e);
}});
reNewPwdField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
okButt_actionPerformed(e);
}});
}
public void cancelButt_actionPerformed(ActionEvent e) {
this.setVisible(false);
this.dispose();
}
public void okButt_actionPerformed(ActionEvent e) {
if (userNameField.getText() != null && userNameField.getText().length() > 0) {
try {
String userName = userNameField.getText().trim();
Statement sta = con.createStatement();
ResultSet set = sta.executeQuery("select password from " +
Type.USERTABLE + " where userName=" +
"'" + userName + "'");
set.next();
String pwd = set.getString(1).trim();
String oldPwd = getStringFromPwdField(oldPwdField);
if(oldPwd.equals(pwd)){
String newPwd = getStringFromPwdField(newPwdField);
String reNewPwd = getStringFromPwdField(reNewPwdField);
if(newPwd.equals(reNewPwd)){
updateUser(userName, newPwd);
JOptionPane.showMessageDialog(this, userName+"的密码修改成功,请下次用新密码登录!!!");
this.setVisible(true);
this.dispose();
// userNameField.setText("");
// oldPwdField.setText("");
// newPwdField.setText("");
// reNewPwdField.setText("");
}
else{
JOptionPane.showMessageDialog(this, "输入的新密码与确认密码不一致,请重新输入!!");
newPwdField.setText("");
reNewPwdField.setText("");
}
}
else{
JOptionPane.showMessageDialog(this, "旧密码不正确,请重新输入!!!");
oldPwdField.setText("");
}
}
catch (SQLException ex) {
System.out.println(ex.toString());
}
}
else {
JOptionPane.showMessageDialog(this, "请输入要更改的用户的用户名!!!!");
userNameField.setText("");
}
}
private String getStringFromPwdField(JPasswordField field){
char[] charPwd = field.getPassword();
return new String(charPwd).trim();
}
private void updateUser(String userName, String newPwd) throws SQLException{
Statement sta = con.createStatement();
int count = sta.executeUpdate("update "+Type.USERTABLE+" set password='"+newPwd+"'"+" where userName='"+userName+"'");
}
}
class ChangePwdDialog_okButt_actionAdapter
implements ActionListener {
private ChangePwdDialog adaptee;
ChangePwdDialog_okButt_actionAdapter(ChangePwdDialog adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.okButt_actionPerformed(e);
}
}
class ChangePwdDialog_jButton1_actionAdapter
implements ActionListener {
private ChangePwdDialog adaptee;
ChangePwdDialog_jButton1_actionAdapter(ChangePwdDialog adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.cancelButt_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -