}
jpDown.add(jbQueryGrade);
jbQueryInfo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { queryInfo(e); } });
jpDown.add(jbQueryInfo);
jbUpdateInfo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateInfo(e); } });
jpDown.add(jbUpdateInfo);
jbUpdatePassword.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updatePassword(e); } });
jpDown.add(jbUpdatePassword);
jbExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (isUpdateGradeble) setVisible(false); else
System.exit(0); } });
jpDown.add(jbExit);
add(jpDown, BorderLayout.SOUTH);
private void queryGrade(ActionEvent e) { jpCenter.add(jsp); setVisible(true); }
private void updatePassword(ActionEvent e) { if (updatePassword == null)
updatePassword = new UpdatePassword(); updatePassword.setVisible(true);
}
private void queryInfo(ActionEvent e) { JOptionPane.showMessageDialog( this,
\学号: \ + student.getStudentID() + \姓名: \ + student.getStudentName() + \性别: \ + student.getSex() + \班级: \ + student.getClasses()
+ \生日: \ + student.getBirth() + \电话: \ + student.getPhone() + \QQ: \ + student.getQq() + \家庭地址: \ + student.getHomeAddr() + \入学时间: \
+ student.getEntranceTime()); }
private void updateInfo(ActionEvent e) { if (updateInfo == null) {
updateInfo = new UpdateInfo(); }
updateInfo.setVisible(true); }
// 声明一个线程来默认读取学生的成绩信息
private class LoadThread implements Runnable { public void run() {
int records = GradeManage.findByID(grades, student.getStudentID());
Object[] columnNames = { \课程名称\, \学期\, \学年\, \分数\ }; Object[][] rowData = new Object[records][columnNames.length];
for (int i = 0; i < grades.size(); i++) { Grade grade = grades.get(i);
rowData[i][0] = grade.getCourseName(); rowData[i][1] = grade.getSemester(); rowData[i][2] = grade.getSchoolYear(); rowData[i][3] = grade.getGrade(); }
table = new JTable(rowData, columnNames); table.setRowHeight(20); table.setFont(font);
table.setEnabled(false);
jsp = new JScrollPane(table); }
}
private class UpdatePassword extends JDialog { // 修改密码相关组件
private JLabel jlOldPassword = new JLabel(\当前密码: \);
private JPasswordField jpfOldPassword = new JPasswordField(20); private JLabel jlNewPassword = new JLabel(\新密码: \);
private JPasswordField jpfNewPassword = new JPasswordField(20); private JLabel jlConfirmPassword = new JLabel(\确认密码:\); private JPasswordField jpfConfirmPassword = new JPasswordField(20);
private JButton jbQueryPassword = new JButton(\确认修改\); private JButton jbCancel = new JButton(\取消 \);
public UpdatePassword() {
super(StudentGrade.this, \修改密码\, true); setSize(300, 300);
setLayout(new FlowLayout(FlowLayout.CENTER, 30, 30)); setLocationRelativeTo(StudentGrade.this); // 设置窗体显示在中间
setResizable(false); init(); }
private void init() { add(jlOldPassword); add(jpfOldPassword); add(jlNewPassword); add(jpfNewPassword); add(jlConfirmPassword); add(jpfConfirmPassword);
jbQueryPassword.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String oldPassword = String.valueOf(
jpfOldPassword.getPassword()).trim(); String newPassword = String.valueOf(
jpfNewPassword.getPassword()).trim(); String confirmPassword = String.valueOf(
jpfConfirmPassword.getPassword()).trim(); // System.out.println(student.getPassword()); if (\.equals(oldPassword)) {
JOptionPane.showMessageDialog(UpdatePassword.this,
\请输入当前密码!\); } else if (!oldPassword
.equals(student.getPassword().trim())) {
JOptionPane.showMessageDialog(UpdatePassword.this, \当前密码错误!\); } else {
if (newPassword.length() < 6) {
JOptionPane.showMessageDialog(UpdatePassword.this, \密码长度不能少于6位!\);
} else if (newPassword.equals(confirmPassword)) { student.setPassword(newPassword); if (StudentManage.update(student)) { JOptionPane.showMessageDialog(
UpdatePassword.this, \修改成功!\); setVisible(false); } else {
JOptionPane.showMessageDialog(
UpdatePassword.this, \修改失败!\); } } else {
JOptionPane.showMessageDialog(UpdatePassword.this, \两次密码不一致!\); } } } });
add(jbQueryPassword);
jbCancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setVisible(false); } });
add(jbCancel); } }
private class UpdateInfo extends JDialog {
private JLabel jlName = new JLabel(\姓名:\); private JTextField jtfName = new JTextField(student.getStudentName()
.trim(), 20);
private JLabel jlSex = new JLabel(\性别: \); private ButtonGroup bgSex = new ButtonGroup();
private JRadioButton jrbMan = new JRadioButton(\男\); private JRadioButton jrbWoman = new JRadioButton(\女\); private JLabel jlBirth = new JLabel(\出生日期:\); private JTextField jtfBirth = new JTextField( student.getBirth() == null ? \ : student.getBirth().toString(), 20);
private JLabel jlPhone = new JLabel(\电话号码:\); private JTextField jtfPhone = new JTextField(student.getPhone().trim(), 20);
private JLabel jlQQ = new JLabel(\); private JTextField jtfQQ = new JTextField(student.getQq().trim(), 20);
private JLabel jlEntranceTime = new JLabel(\入学时间:\); private JTextField jtfEntranceTime = new JTextField(student .getEntranceTime().toString(), 20);
private JLabel jlClass = new JLabel(\班级: \); private JTextField jtfClass = new JTextField(student.getClasses(), 20);
private JTextField jtfPhoto = new JTextField(40); private JButton jbPhoto = new JButton(\上传照片\);
private JLabel jlAddr = new JLabel(\家庭地址: \); private JTextArea jtaAddr = new JTextArea(student.getHomeAddr().trim(), 2, 35);
private JButton jbQueryInfo = new JButton(\确认修改\); private JButton jbCancel = new JButton(\取消 \);
private Uploading upload = new Uploading(this); // 创建上传照片的类
public UpdateInfo() {
super(StudentGrade.this, \修改个人信息\, true); setSize(300, 550);
setLayout(new FlowLayout(FlowLayout.CENTER, 30, 20)); setLocationRelativeTo(StudentGrade.this); // 设置窗体显示在中间
setResizable(false); init(); }