📄 scorecheck.java~5~
字号:
package sos;
//成绩总查询
import java.awt.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.Rectangle;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ScoreCheck extends JDialog {
String college = "", major = "", grade = "", myClass = ""; //记录数据,以便从数据库中查询
boolean canCheck = false; //标记能否查询
int collegeN = 0, majorN = 0, orderStatusN = 0, gradeN = 0, myClassN = 0; //用于判断能否查询的条件
String[] tableTitle = {"学号", "姓名", "GAP", "所选课程1", "成绩1", "所选课程2", "成绩2"}; //标记表的列名
String[][] tableContent; //记录表中的信息
public ScoreCheck(Frame frame, boolean modal) {
super(frame, modal);
setTitle("成绩查询-教师");
setSize(610, 440);
setResizable(false);
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);
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
setVisible(true);
}
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
jLabel_Prompt.setFont(new java.awt.Font("隶书", Font.BOLD | Font.ITALIC,
25));
jLabel_Prompt.setForeground(Color.blue);
jLabel_Prompt.setHorizontalAlignment(SwingConstants.CENTER);
jLabel_Prompt.setText("正在进行成绩查询");
jLabel_Prompt.setBounds(new Rectangle(6, 5, 589, 42));
jLabel_Condition.setFont(new java.awt.Font("华文新魏", Font.BOLD, 15));
jLabel_Condition.setText("选择查询条件:");
jLabel_Condition.setBounds(new Rectangle(6, 37, 108, 33));
jComboBox_Major.setBounds(new Rectangle(293, 70, 174, 32));
jComboBox_Major.addItem("所学专业(请选择)");
jComboBox_Major.addItem("软件工程");
jComboBox_Major.addItem("计算机科学与技术");
jComboBox_Major.addItem("电子商务");
jComboBox_College.setBounds(new Rectangle(6, 70, 151, 32));
jComboBox_College.addItem("所在院校(请选择)");
jComboBox_College.addItem("软件学院");
jComboBox_College.addItem("计算机学院");
jComboBox_Grade.setBounds(new Rectangle(162, 70, 126, 32));
jComboBox_Grade.addItem("年级(请选择)");
jComboBox_Grade.addItem("2005级");
jComboBox_Class.setBounds(new Rectangle(471, 70, 125, 32));
jComboBox_Class.addItem("班级(请选择)");
jComboBox_Class.addItem("软件工程一班");
jComboBox_Class.addItem("软件工程二班");
jComboBox_Class.addItem("软件工程三班");
jComboBox_Class.addItem("软件工程四班");
jComboBox_Class.addItem("计算机一班");
jComboBox_Class.addItem("计算机二班");
jComboBox_Class.addItem("计算机三班");
jComboBox_Class.addItem("计算机四班");
jComboBox_Class.addItem("电子商务一班");
jComboBox_OrderStatus.setBounds(new Rectangle(441, 34, 155, 32));
jComboBox_OrderStatus.addItem("排序方式(请选择)");
jComboBox_OrderStatus.addItem("学生学号");
jComboBox_OrderStatus.addItem("综合平均成绩");
jLabel_Table.setFont(new java.awt.Font("华文新魏", Font.BOLD, 25));
jLabel_Table.setHorizontalAlignment(SwingConstants.CENTER);
jLabel_Table.setText("符合条件学生成绩汇总表");
jLabel_Table.setBounds(new Rectangle(5, 100, 589, 42));
jScrollPane_TablePane.setHorizontalScrollBarPolicy(JScrollPane.
HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane_TablePane.setVerticalScrollBarPolicy(JScrollPane.
VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane_TablePane.getViewport().setBackground(Color.white);
jScrollPane_TablePane.setAutoscrolls(true);
jScrollPane_TablePane.setBounds(new Rectangle(4, 141, 592, 210));
jButton_Reset.setBounds(new Rectangle(209, 362, 180, 33));
jButton_Reset.setFont(new java.awt.Font("黑体", Font.BOLD | Font.ITALIC,
20));
jButton_Reset.setText("重置");
jButton_Reset.addActionListener(new
ScoreCheckForTeacher_jButton_Reset_actionAdapter(this));
jButton_OK.setBounds(new Rectangle(396, 362, 180, 33));
jButton_OK.setFont(new java.awt.Font("黑体", Font.BOLD | Font.ITALIC, 20));
jButton_OK.setText("完成");
jButton_OK.addActionListener(new
ScoreCheckForTeacher_jButton_OK_actionAdapter(this));
jButton_Check.setBounds(new Rectangle(23, 362, 180, 33));
jButton_Check.setFont(new java.awt.Font("黑体", Font.BOLD | Font.ITALIC,
20));
jButton_Check.setText("查询");
jButton_Check.addActionListener(new
ScoreCheckForTeacher_jButton_Check_actionAdapter(this));
this.getContentPane().add(jLabel_Prompt);
this.getContentPane().add(jScrollPane_TablePane);
this.getContentPane().add(jButton_Reset);
this.getContentPane().add(jButton_Check);
this.getContentPane().add(jButton_OK);
this.getContentPane().add(jLabel_Condition);
this.getContentPane().add(jComboBox_College);
this.getContentPane().add(jComboBox_Grade);
this.getContentPane().add(jComboBox_Major);
this.getContentPane().add(jComboBox_OrderStatus);
this.getContentPane().add(jLabel_Table);
this.getContentPane().add(jComboBox_Class);
jScrollPane_TablePane.getViewport().add(jTable1);
}
JLabel jLabel_Prompt = new JLabel();
JLabel jLabel_Condition = new JLabel();
JComboBox jComboBox_Major = new JComboBox();
JComboBox jComboBox_College = new JComboBox();
JComboBox jComboBox_Grade = new JComboBox();
JComboBox jComboBox_Class = new JComboBox();
JComboBox jComboBox_OrderStatus = new JComboBox();
JLabel jLabel_Table = new JLabel();
JScrollPane jScrollPane_TablePane = new JScrollPane();
JButton jButton_Reset = new JButton();
JButton jButton_OK = new JButton();
JTable jTable1 = new JTable();
JButton jButton_Check = new JButton();
public void getCheckInfo() {
boolean choose1 = true, choose2 = true, choose3 = true, choose4 = true,
choose5 = true;
collegeN = jComboBox_College.getSelectedIndex();
majorN = jComboBox_Major.getSelectedIndex();
orderStatusN = jComboBox_OrderStatus.getSelectedIndex();
gradeN = jComboBox_Grade.getSelectedIndex();
myClassN = jComboBox_Class.getSelectedIndex();
if (collegeN == 0) {
JOptionPane.showMessageDialog(this, "尚未选定院系,请选择!", "注意!", 1);
choose1 = false;
}
if (majorN == 0) {
JOptionPane.showMessageDialog(this, "尚未选定专业,请选择!", "注意!", 1);
choose2 = false;
}
if (orderStatusN == 0) {
JOptionPane.showMessageDialog(this, "尚未选定排序方式,请选择!", "注意!", 1);
choose3 = false;
}
if (gradeN == 0) {
JOptionPane.showMessageDialog(this, "尚未选定年级,请选择!", "注意!", 1);
choose4 = false;
}
if (myClassN == 0) {
JOptionPane.showMessageDialog(this, "尚未选定班级,请选择!", "注意!", 1);
choose5 = false;
}
college = jComboBox_College.getSelectedItem().toString();
major = jComboBox_Major.getSelectedItem().toString();
grade = jComboBox_Grade.getSelectedItem().toString();
myClass = jComboBox_Class.getSelectedItem().toString();
if (choose1 && choose2 && choose3 && choose4 && choose5) {
canCheck = true;
}
}
public void checkScore() {
getCheckInfo();
try {
if (!canCheck) {
JOptionPane.showMessageDialog(this, "查询条件选择失败,无法正常录入!请重新选择。",
"录入失败!", 1);
throw new Exception();
}
int studentNumber = 0; //标记表中学生的数量
Statement stmt;
ResultSet rs;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:db_STU",
"",
"");
stmt = con.createStatement();
rs = stmt.executeQuery("select 学号 from Result_Info");
while (rs.next()) {
studentNumber++;
}
tableContent = new String[studentNumber][7]; //只显示两门课程信息
if (orderStatusN == 1) {
rs = stmt.executeQuery(
"select 学号,姓名,GAP,课程1,成绩1,课程2,成绩2 from Result_Info order by 学号");
} else if (orderStatusN == 2) {
rs = stmt.executeQuery(
"select 学号,姓名,GAP,课程1,成绩1,课程2,成绩2 from Result_Info order by GAP");
}
studentNumber = 0;
while (rs.next()) {
tableContent[studentNumber][0] = rs.getString(1);
tableContent[studentNumber][1] = rs.getString(2);
tableContent[studentNumber][2] = rs.getString(3);
for (int i = 0; i < 4; i++) {
String temp = rs.getString(4 + i);
if (temp == null) {
break;
}
tableContent[studentNumber][3 + i] = temp;
}
studentNumber++;
}
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
jTable1 = new JTable(tableContent, tableTitle);
jTable1.setVisible(true);
jScrollPane_TablePane.getViewport().add(jTable1);
jTable1.setAutoscrolls(true);
}
public void jButton_Check_actionPerformed(ActionEvent e) {
checkScore();
}
public void jButton_Reset_actionPerformed(ActionEvent e) {
if (jTable1 != null) {
jTable1.setVisible(false);
}
jScrollPane_TablePane.getViewport().removeAll();
}
public void jButton_OK_actionPerformed(ActionEvent e) {
dispose();
}
}
class ScoreCheckForTeacher_jButton_OK_actionAdapter implements ActionListener {
private ScoreCheck adaptee;
ScoreCheckForTeacher_jButton_OK_actionAdapter(ScoreCheck adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton_OK_actionPerformed(e);
}
}
class ScoreCheckForTeacher_jButton_Reset_actionAdapter implements
ActionListener {
private ScoreCheck adaptee;
ScoreCheckForTeacher_jButton_Reset_actionAdapter(ScoreCheck
adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton_Reset_actionPerformed(e);
}
}
class ScoreCheckForTeacher_jButton_Check_actionAdapter implements
ActionListener {
private ScoreCheck adaptee;
ScoreCheckForTeacher_jButton_Check_actionAdapter(ScoreCheck
adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton_Check_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -