⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scorecheck.java~5~

📁 Tt s a good book ,if you want to learn java good
💻 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 + -