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

📄 studentinfoframe.java~93~

📁 用java 写的学生信息管理系统
💻 JAVA~93~
字号:
package prjStudent;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.Font;
import javax.swing.JScrollPane;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTable;
import prjTeacher.Teacher;
import java.sql.SQLException;
import java.util.ArrayList;
import prjsystementer.DBManager;
import java.sql.ResultSet;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import javax.swing.JTabbedPane;
import javax.swing.JDialog;
import javax.swing.table.TableModel;
import javax.swing.*;

public class StudentInfoFrame extends JDialog {
    public StudentInfoFrame() {
        try {
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        getContentPane().setLayout(null);
        lblInfo.setFont(new java.awt.Font("宋体", Font.BOLD, 25));
        lblInfo.setText("学生信息列表");
        lblInfo.setBounds(new Rectangle(167, 21, 183, 29));
        jScrollPane1.setBounds(new Rectangle(8, 79, 462, 242));
        lblSearch.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        lblSearch.setText("查询");
        lblSearch.setBounds(new Rectangle(15, 341, 42, 15));
        lblLook.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        lblLook.setText("查询条件:");
        lblLook.setBounds(new Rectangle(17, 364, 91, 41));
        cboCondition.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        cboCondition.setBounds(new Rectangle(100, 375, 110, 31));
        cboCondition.addActionListener(new
                                       StudentInfoFrame_cboCondition_actionAdapter(this));
        txtCondition.setBounds(new Rectangle(220, 375, 163, 32));
        btnSearch.setBounds(new Rectangle(392, 353, 80, 28));
        btnSearch.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        btnSearch.setText("查询");
        btnSearch.addActionListener(new
                                    StudentInfoFrame_btnSearch_actionAdapter(this));
        btnNew.setBounds(new Rectangle(17, 450, 88, 31));
        btnNew.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        btnNew.setText("新增");
        btnNew.addActionListener(new StudentInfoFrame_btnNew_actionAdapter(this));
        btnEdit.setBounds(new Rectangle(124, 450, 91, 31));
        btnEdit.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        btnEdit.setText("修改");
        btnEdit.addActionListener(new StudentInfoFrame_btnEdit_actionAdapter(this));
        btnCancel.setBounds(new Rectangle(354, 450, 92, 31));
        btnCancel.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        btnCancel.setText("退出");
        btnCancel.addActionListener(new
                                    StudentInfoFrame_btnCancel_actionAdapter(this));
        btnDelete.setBounds(new Rectangle(238, 450, 92, 31));
        btnDelete.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        btnDelete.setText("删除");
        btnDelete.addActionListener(new
                                    StudentInfoFrame_btnDelete_actionAdapter(this));
        this.setTitle("学生信息管理");
        jButton1.setBounds(new Rectangle(386, 394, 91, 31));
        jButton1.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        jButton1.setText("重新查询");
        jButton1.addActionListener(new StudentInfoFrame_jButton1_actionAdapter(this));
        this.getContentPane().add(lblInfo);
        this.getContentPane().add(jScrollPane1);
        this.getContentPane().add(lblSearch);
        this.getContentPane().add(lblLook);
        this.getContentPane().add(txtCondition);
        this.getContentPane().add(cboCondition);
        this.getContentPane().add(btnNew);
        this.getContentPane().add(btnCancel);
        this.getContentPane().add(btnDelete);
        this.getContentPane().add(btnEdit);
        this.getContentPane().add(btnSearch);
        this.getContentPane().add(jButton1);
        jScrollPane1.getViewport().add(tblStudentInfo);
        fillCbo();
        fillTable(this.sql);
    }

    private void fillCbo() {
        this.cboCondition.removeAllItems();
        String[] ID = {"学生编号", "学生姓名"};
        for (int i = 0; i < ID.length; i++) {
            this.cboCondition.addItem(ID[i]);
        }
    }

    String sql = "select * from T_STUDENT ";
    private void fillTable(String sql) {
        DBManager db = new DBManager();

        ResultSet rs = db.ExecuteQuery(sql);
        ArrayList al = new ArrayList();
        try {
            while (rs.next()) {
                String stuId = rs.getString("stuID");
                String stuName = rs.getString("stuName");
                String sex = rs.getString("stuSex");
                String stuBirthday = rs.getString("stuBirthday");
                String classID = rs.getString("classID");
                String stuPhone = rs.getString("stuPhone");
                String stuInDate = rs.getString("stuInDate");
                String stuAddress = rs.getString("stuAddress");
                String memo = rs.getString("Memo");

                Student s = new Student();

                s.setID(stuId);
                s.setName(stuName);
                s.setSex(sex);
                s.setBirthday(stuBirthday);
                s.setClassId(classID);
                s.setPhone(stuPhone);
                s.setIndate(stuInDate);
                s.setAddress(stuAddress);
                s.setMemo(memo);

                al.add(s);
            }
            studentModel cm = new studentModel();
            cm.al = al;
            tblStudentInfo.setModel(cm);
        } catch (SQLException ex) {
            ex.printStackTrace();
        }

    }

    public static void main(String[] args) {
        StudentInfoFrame studentinfoframe = new StudentInfoFrame();
        studentinfoframe.setSize(488, 519);
        studentinfoframe.setDefaultCloseOperation(studentinfoframe.
                                                  DISPOSE_ON_CLOSE);
        studentinfoframe.setVisible(true);
    }

    JLabel lblInfo = new JLabel();
    JScrollPane jScrollPane1 = new JScrollPane();
    JLabel lblSearch = new JLabel();
    JLabel lblLook = new JLabel();
    JComboBox cboCondition = new JComboBox();
    JTextField txtCondition = new JTextField();
    JButton btnSearch = new JButton();
    JButton btnNew = new JButton();
    JButton btnEdit = new JButton();
    JButton btnCancel = new JButton();
    JButton btnDelete = new JButton();
    JTable tblStudentInfo = new JTable();
    JButton jButton1 = new JButton();
    public void btnCancel_actionPerformed(ActionEvent e) {
        this.dispose();
    }

    public void cboCondition_actionPerformed(ActionEvent e) {

    }

    public void btnNew_actionPerformed(ActionEvent e) {
        AddStudentInfoFrame s = new AddStudentInfoFrame();
        s.setTitle("添加学生信息");
        s.setSize(401, 380);
        //显示弹出窗口的位置,现在在显示屏的中间
        s.setLocation(300, 200);
        s.setModal(true);
        s.setDefaultCloseOperation(s.DISPOSE_ON_CLOSE);
        s.setVisible(true);
        fillTable(this.sql);

    }

    private int QueryStudent(String id) {
        this.Id = id;
        DBManager db = new DBManager();
        String sql = "select * from T_EXAM where stuID='" + id + "'";
        ResultSet rs = db.ExecuteQuery(sql);
        try {
            if (rs.next()) {
                return 0;
            }
        } catch (SQLException ex) {
        }
        return 1;

    }

    String Id;
    public void btnDelete_actionPerformed(ActionEvent e) {

        int x = tblStudentInfo.getSelectedRow();
        if (x < 0) {
            JOptionPane.showMessageDialog(this, "请选择要删除的行");
            return;
        }
        int question = JOptionPane.showConfirmDialog(this, "是否删除", "确认",
                JOptionPane.YES_NO_OPTION,
                JOptionPane.WARNING_MESSAGE);
        if (question == JOptionPane.NO_OPTION) {
            return;
        }
        TableModel cm = this.tblStudentInfo.getModel();
//        studentModel cm = new studentModel();
        Id = (String) cm.getValueAt(x, 0);
        String sql = "delete from T_STUDENT where stuID='" + Id + "'";
        int Result = QueryStudent(Id);
        if (Result == 0) {
            JOptionPane.showMessageDialog(this, "这为学生有成绩不能删除");
            return;
        }

        DBManager db = new DBManager();
        db.ExecuteUpdate(sql);
        fillTable(this.sql);
    }

    public void btnSearch_actionPerformed(ActionEvent e) {
        String look = (String)this.cboCondition.getSelectedItem();
        String txt = this.txtCondition.getText();
        String sql = "";
        if (look.equals("学生编号")) {
            sql = "select * from T_STUDENT where stuID='" + txt +
                  "'";
        }
        if (look.equals("学生姓名")) {
            sql = "select * from T_STUDENT where stuName='" + txt +
                  "'";
        }
        if (txt.equals("")) {

            JOptionPane.showMessageDialog(this, "请输入查询条件。");
            return;
        }
        DBManager db = new DBManager();
        db.ExecuteQuery(sql);

        fillTable(sql);

    }

    public void btnEdit_actionPerformed(ActionEvent e) {
        int x = this.tblStudentInfo.getSelectedRow();
        if (x < 0) {
            JOptionPane.showMessageDialog(this, "请选择要修改的行");
            return;
        }
        TableModel sm = this.tblStudentInfo.getModel();
        //stuID, stuName, stuSex, stuBirthday, classID, stuPhone, stuInDate, stuAddress,
        String stuID = (String) sm.getValueAt(x, 0);
        String stuName = (String) sm.getValueAt(x, 1);
        String stuSex = (String) sm.getValueAt(x, 2);
        String stuBirthday = (String) sm.getValueAt(x, 3);
        String stuPhone = (String) sm.getValueAt(x, 4);
        String stuInDate = (String) sm.getValueAt(x, 5);
        String classID = (String) sm.getValueAt(x, 6);
        String stuAddress = (String) sm.getValueAt(x, 7);
        String Memo = (String) sm.getValueAt(x, 8);

        Student s = new Student();
        s.setID(stuID);
        s.setName(stuName);
        s.setSex(stuSex);
        s.setBirthday(stuBirthday);
        s.setClassId(classID);
        s.setPhone(stuPhone);
        s.setIndate(stuInDate);
        s.setAddress(stuAddress);
        s.setMemo(Memo);

        AddStudentInfoFrame af = new AddStudentInfoFrame(s);
        af.setSize(401, 380);
        af.setLocation(300, 200);
        af.setDefaultCloseOperation(af.DISPOSE_ON_CLOSE);
        af.setModal(true);
        af.setVisible(true);

        fillTable(this.sql);

    }

    //此处新增加了一个重新查询的按钮,是为用户的多次查询提供方便。
    public void jButton1_actionPerformed(ActionEvent e) {
        //cbo里面的数据是从下标为0开始的
        this.cboCondition.setSelectedIndex(0);
        this.txtCondition.setText("");
        fillTable(this.sql);
    }

}


class StudentInfoFrame_jButton1_actionAdapter implements ActionListener {
    private StudentInfoFrame adaptee;
    StudentInfoFrame_jButton1_actionAdapter(StudentInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}


class StudentInfoFrame_btnEdit_actionAdapter implements ActionListener {
    private StudentInfoFrame adaptee;
    StudentInfoFrame_btnEdit_actionAdapter(StudentInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnEdit_actionPerformed(e);
    }
}


class StudentInfoFrame_btnSearch_actionAdapter implements ActionListener {
    private StudentInfoFrame adaptee;
    StudentInfoFrame_btnSearch_actionAdapter(StudentInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnSearch_actionPerformed(e);
    }
}


class StudentInfoFrame_btnDelete_actionAdapter implements
        ActionListener {
    private StudentInfoFrame adaptee;
    StudentInfoFrame_btnDelete_actionAdapter(StudentInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnDelete_actionPerformed(e);
    }
}


class StudentInfoFrame_btnNew_actionAdapter implements ActionListener {
    private StudentInfoFrame adaptee;
    StudentInfoFrame_btnNew_actionAdapter(StudentInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnNew_actionPerformed(e);
    }
}


class StudentInfoFrame_cboCondition_actionAdapter implements ActionListener {
    private StudentInfoFrame adaptee;
    StudentInfoFrame_cboCondition_actionAdapter(StudentInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.cboCondition_actionPerformed(e);
    }
}


class StudentInfoFrame_btnCancel_actionAdapter implements ActionListener {
    private StudentInfoFrame adaptee;
    StudentInfoFrame_btnCancel_actionAdapter(StudentInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnCancel_actionPerformed(e);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -