diff --git a/TAdminPanel.java b/TAdminPanel.java new file mode 100644 index 0000000..29307cc --- /dev/null +++ b/TAdminPanel.java @@ -0,0 +1,94 @@ +// TAdminPanel.java +package com.WR.StudentMS.view; + +import javax.swing.*; + +import com.WR.StudentMS.dao.mysql.TAdmindaoimplzh; + +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class TAdminPanel extends JPanel { + private JTextField txtUserName; + private JPasswordField txtOldPassword; + private JPasswordField txtNewPassword; + private JButton btnModify; + private JButton btnReset; + + private TAdmindaoimplzh adminDao; // 数据访问对象 + + + public TAdminPanel() { + adminDao = new TAdmindaoimplzh(); // 初始化数据访问对象 + + // 设置面板布局 + setLayout(new GridLayout(4, 2, 5, 5)); + setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + + // 初始化组件 + txtUserName = new JTextField(20); + txtOldPassword = new JPasswordField(20); + txtNewPassword = new JPasswordField(20); + btnModify = new JButton("修改"); + btnReset = new JButton("重置"); + + // 添加组件到面板 + add(new JLabel("用户名:")); + add(txtUserName); + add(new JLabel("原密码:")); + add(txtOldPassword); + add(new JLabel("新密码:")); + add(txtNewPassword); + add(btnModify); + add(btnReset); + + // 为按钮添加事件监听器 + btnModify.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + modifyPassword(); + } + }); + + btnReset.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + resetForm(); + } + }); + } + + private void modifyPassword() { + String userName = txtUserName.getText(); + String oldPassword = new String(txtOldPassword.getPassword()); + String newPassword = new String(txtNewPassword.getPassword()); + + if (adminDao.verifyCredentials(userName, oldPassword)) { + // 如果凭证验证成功,调用 changePassword 方法更新密码 + int result = adminDao.changePassword(userName, newPassword); + if (result > 0) { + JOptionPane.showMessageDialog(null, "密码修改成功!"); + resetForm(); // 清空表单 + } else { + JOptionPane.showMessageDialog(null, "密码更新失败,请重试。"); + } + } else { + // 如果凭证验证失败,显示错误信息并清空原密码输入框 + showError("用户名或原密码错误!"); + txtOldPassword.setText(""); // 清空原密码 + } + } + private void resetForm() { + txtUserName.setText(""); + txtOldPassword.setText(""); + txtNewPassword.setText(""); + } + + + + private void showError(String message) { + // 显示错误信息的方法,可能需要更新UI来显示红色提醒 + JOptionPane.showMessageDialog(null, message); + } +} \ No newline at end of file