JOptionPane.showMessageDialog(Login.this, \学号不存在!\);
} catch (PasswordNotCorrectException e1) {
JOptionPane.showMessageDialog(Login.this, \密码错误!\);
} } } });
jbLogin.setLocation(100, 200); jbLogin.setSize(80, 30); add(jbLogin);
jbCancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } });
jbCancel.setLocation(200, 200); jbCancel.setSize(80, 30); add(jbCancel); }
public static void main(String[] args) { try {
// 设置和win7的布局一样
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException e) { e.printStackTrace();
} catch (InstantiationException e) { e.printStackTrace();
} catch (IllegalAccessException e) { e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); }
new Login().setVisible(true); } }
com.ccniit.student.view.StduentGrade类
说明:此类是显示层的学生成绩界面,有菜单栏、内容窗口、功能按钮,此界面的功能是查询登录学生的成绩,查询学生的个人详细信息,修改个人信息,修改密码等功能。还新创建了一个线程来读取学生的成绩和信息,此线程是一个内部类,有一个修改密码的小窗口是一个内部类继承了JDialog,修改信息的内部类小窗口继承了JDialog。学生还可以上传自己的照片,修改自己上传的照片,上传后学生就能看到自己的照片,但是学生不能修改自己的班级和入学时间,这两项老师可以修改。部分界面如下图所示:
package com.ccniit.student.view;
import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File;
import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.List;
import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel;
import javax.swing.JPasswordField; import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.JTextField;
import com.ccniit.student.Grade; import com.ccniit.student.Student;
import com.ccniit.student.manage.GradeManage; import com.ccniit.student.manage.StudentManage;
public class StudentGrade extends JFrame { private Student student;
private List
public static String imagePath = \; // 相对路径
// 菜单相关组件
private JMenuBar jmb = new JMenuBar(); // 菜单条 private JMenu jmFile = new JMenu(\文件 \); private JMenuItem jmiExit = new JMenuItem(\退出\); private JMenu jmQuery = new JMenu(\查询 \);
private JMenuItem jmiQueryGrade = new JMenuItem(\成绩查询\); private JMenuItem jmiQueryInfo = new JMenuItem(\信息查询...\); private JMenu jmUpdate = new JMenu(\修改 \);
private JMenuItem jmiUpdateInfo = new JMenuItem(\修改信息...\); private JMenuItem jmiUpdatePassword = new JMenuItem(\修改密码...\); private JMenu jmHelp = new JMenu(\帮助 \);
private JMenuItem jmiHelp = new JMenuItem(\帮助...\); private JMenuItem jmiAbout = new JMenuItem(\关于...\);
// 成绩信息显示相关组件
private JLabel jlWelcome; // 显示欢迎的标签 private Font font = new Font(\楷体\, 0, 17); private JTable table; // 成绩信息表
private JPanel jpCenter = new JPanel(new GridLayout(2, 1)); private JScrollPane jsp;
private UpdatePassword updatePassword; private UpdateInfo updateInfo;
// 下面部分的相关组件
private JPanel jpDown = new JPanel(
new FlowLayout(FlowLayout.CENTER, 20, 20)); // 下面部分的JPanel
private JButton jbQueryGrade = new JButton(\成绩查询\); private JButton jbQueryInfo = new JButton(\信息查询\); private JButton jbUpdateInfo = new JButton(\修改信息\);
private JButton jbUpdatePassword = new JButton(\修改密码\); private JButton jbExit = new JButton(\退出 \);
public StudentGrade(Student student, boolean isUpdateGradeble) { this.student = student;
this.isUpdateGradeble = isUpdateGradeble; setTitle(\学生管理系统0.0.4-学生界面\);
}
setSize(800, 600);
setLocationRelativeTo(null); if (!isUpdateGradeble)
setDefaultCloseOperation(EXIT_ON_CLOSE);
new Thread(new LoadThread()).start(); // 开始读取学生成绩的线程 init();
private void init() { // 查询学生成绩
jmiQueryGrade.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { queryGrade(e); } });
jmQuery.add(jmiQueryGrade);
jmiQueryInfo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { queryInfo(e); } });
jmQuery.add(jmiQueryInfo);
jmiUpdateInfo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateInfo(e); } });
jmUpdate.add(jmiUpdateInfo);
jmiUpdatePassword.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updatePassword(e); } });
jmUpdate.add(jmiUpdatePassword);
jmiExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (isUpdateGradeble) setVisible(false); else
System.exit(0);
} });
jmFile.add(jmiExit); jmb.add(jmFile); jmb.add(jmQuery); jmb.add(jmUpdate);
jmiHelp.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(StudentGrade.this,
\学生管理系统-学生界面,用于学生查询个人成绩和个信息,可以修改个人信息和密码.\); } });
jmHelp.add(jmiHelp);
jmiAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane
.showMessageDialog(StudentGrade.this,
\学生管理系统-学生界面\\n欢迎使用学生管理系统\\n作者: 骆巍\\n当前版本: 0.0.5\\n发行时间: 2012-05-24\); } });
jmHelp.add(jmiAbout); jmb.add(jmHelp); setJMenuBar(jmb);
jlWelcome = new JLabel(\学号: \ + student.getStudentID() + \姓名: \
+ student.getStudentName() + \班级: \ + student.getClasses()
+ \电话: \ + student.getPhone()); jlWelcome.setFont(font);
add(jlWelcome, BorderLayout.NORTH);
jpCenter.add(new ImagePanel(imagePath + student.getPhoto())); add(jpCenter);
jbQueryGrade.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { queryGrade(e); } });