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

📄 classinfoframe.java~57~

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

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.Font;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import prjsystementer.DBManager;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.sql.*;
import javax.swing.table.TableModel;
import javax.swing.JDialog;
import java.awt.Color;

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

    private void jbInit() throws Exception {
        getContentPane().setLayout(null);
        jLabel1.setFont(new java.awt.Font("宋体", Font.BOLD, 16));
        jLabel1.setText("班级信息列表");
        jLabel1.setBounds(new Rectangle(186, 8, 122, 41));
        jLabel2.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        cboClass.setBounds(new Rectangle(89, 364, 126, 29));
        jLabel3.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        jLabel3.setText("查询条件:");
        jLabel3.setBounds(new Rectangle(23, 360, 74, 40));
        txtLook.setBounds(new Rectangle(221, 364, 125, 28));
        btnLook.setBackground(Color.white);
        btnLook.setBounds(new Rectangle(363, 364, 83, 25));
        btnLook.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        btnLook.setText("查询");
        btnLook.addActionListener(new ClassInfoFrame_btnLook_actionAdapter(this));
        btnCancel.setBackground(Color.white);
        btnCancel.setBounds(new Rectangle(352, 426, 83, 25));
        btnCancel.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        btnCancel.setText("退出");
        btnCancel.addActionListener(new ClassInfoFrame_btnCancel_actionAdapter(this));
        btnEdit.setBackground(Color.white);
        btnEdit.setBounds(new Rectangle(234, 426, 83, 25));
        btnEdit.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        btnEdit.setText("修改");
        btnEdit.addActionListener(new ClassInfoFrame_btnEdit_actionAdapter(this));
        btnAdd.setBackground(Color.white);
        btnAdd.setBounds(new Rectangle(123, 426, 83, 25));
        btnAdd.setFont(new java.awt.Font("宋体", Font.BOLD, 12));
        btnAdd.setSelectedIcon(null);
        btnAdd.setText("新增");
        btnAdd.addActionListener(new ClassInfoFrame_btnAdd_actionAdapter(this));
        jLabel2.setText("查询");
        jLabel2.setBounds(new Rectangle(26, 337, 55, 30));
        this.getContentPane().setBackground(Color.orange);
        this.setTitle("学生基本信息 ");
        jScrollPane1.getViewport().setBackground(Color.orange);
        tblClassInfo.setBackground(Color.orange);
        this.getContentPane().add(jScrollPane1);
        this.getContentPane().add(jLabel1);
        this.getContentPane().add(jLabel3);
        this.getContentPane().add(jLabel2);
        this.getContentPane().add(cboClass);
        this.getContentPane().add(txtLook);
        this.getContentPane().add(btnEdit);
        this.getContentPane().add(btnCancel);
        this.getContentPane().add(btnAdd);
        this.getContentPane().add(btnLook);
        jScrollPane1.getViewport().add(tblClassInfo);
        jScrollPane1.setBounds(new Rectangle(30, 64, 435, 270));
        fillCbo();
        fillTable(this.sql);
    }

    private void fillCbo() {
        this.cboClass.removeAllItems();
        String[] ID = {"班主任编号", "班级编号"};
        for (int i = 0; i < ID.length; i++) {
            this.cboClass.addItem(ID[i]);
        }
    }

    String sql = "select * from T_CLASSINFO";

    public void fillTable(String sql) {
        DBManager db = new DBManager();

        ResultSet rs = db.ExecuteQuery(sql);
        ArrayList al = new ArrayList();
        try {
            while (rs.next()) {
                String classID = rs.getString("classID");
                String teacherID = rs.getString("teacherID");
                String startDate = rs.getString("startDate");
                String studentCount = rs.getString("studentCount");
                String endDate = rs.getString("endDate");
                String Memo = rs.getString("Memo");

                Class c = new Class();

                c.setClassID(classID);
                c.setTeacherID(teacherID);
                c.setStartDate(startDate);
                c.setStudentCount(studentCount);
                c.setEndDate(endDate);
                c.setMemo(Memo);

                al.add(c);

            }

            ClassMOdel cm = new ClassMOdel();
            cm.al = al;
            this.tblClassInfo.setModel(cm);
        } catch (SQLException ex) {
            ex.printStackTrace();
        }

    }

//    public static void main(String[] args) {
//        ClassInfoFrame classinfoframe = new ClassInfoFrame();
//    }

    JLabel jLabel1 = new JLabel();
    JScrollPane jScrollPane1 = new JScrollPane();
    JTable tblClassInfo = new JTable();
    JLabel jLabel2 = new JLabel();
    JComboBox cboClass = new JComboBox();
    JLabel jLabel3 = new JLabel();
    JTextField txtLook = new JTextField();
    JButton btnLook = new JButton();
    JButton btnCancel = new JButton();
    JButton btnEdit = new JButton();
    JButton btnAdd = new JButton();
    public void btnCancel_actionPerformed(ActionEvent e) {
        this.dispose();
    }

    public void btnEdit_actionPerformed(ActionEvent e) {
        int x = this.tblClassInfo.getSelectedRow();
        if (x < 0) {
            JOptionPane.showMessageDialog(this, "请选择要修改的行");
            return;
        }
        TableModel tm = this.tblClassInfo.getModel();
        String classID = (String) tm.getValueAt(x, 0);
        String teacherID = (String) tm.getValueAt(x, 1);
        String startDate = (String) tm.getValueAt(x, 2);
        String studentCount = (String) tm.getValueAt(x, 3);
        String endDate = (String) tm.getValueAt(x, 4);
        String memo = (String) tm.getValueAt(x, 5);

        Class c = new Class();
        c.setClassID(classID);
        /////////////////////////
        c.setTeacherID(teacherID);
        System.out.println(teacherID);
        c.setStartDate(startDate);
        c.setStudentCount(studentCount);
        c.setEndDate(endDate);
        c.setMemo(memo);
//实例化修改界面
        AddClassFrame f = new AddClassFrame(c);
        f.setSize(420, 485);
        f.setLocation(154, 44);
        f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        f.setModal(true);
        f.setVisible(true);
        fillTable(this.sql);

    }


    public void btnAdd_actionPerformed(ActionEvent e) {
        AddClassFrame a = new AddClassFrame();
        a.setSize(450, 520);
        a.setModal(true);
        a.setDefaultCloseOperation(a.DISPOSE_ON_CLOSE);
        a.setVisible(true);
        fillTable(this.sql);

    }

    public void btnLook_actionPerformed(ActionEvent e) {
        fillTable(this.sql);
        String result = (String)this.cboClass.getSelectedItem();
        String look = this.txtLook.getText();
        String sql = "";
        if (result.equals("班主任编号")) {
            sql = "select * from T_CLASSINFO where teacherID='" + look +
                  "'";
        }
        if (result.equals("班级编号")) {
            sql = "select * from T_CLASSINFO where classID='" + look + "'";
        }
        if (look.equals("")) {
            JOptionPane.showMessageDialog(this, "请输入要查询的条件.");
            return;
        }
        DBManager db = new DBManager();
        db.ExecuteQuery(sql);

        fillTable(sql);
    }

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


class ClassInfoFrame_btnLook_actionAdapter implements ActionListener {
    private ClassInfoFrame adaptee;
    ClassInfoFrame_btnLook_actionAdapter(ClassInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

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


class ClassInfoFrame_btnAdd_actionAdapter implements ActionListener {
    private ClassInfoFrame adaptee;
    ClassInfoFrame_btnAdd_actionAdapter(ClassInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

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


class ClassInfoFrame_btnEdit_actionAdapter implements ActionListener {
    private ClassInfoFrame adaptee;
    ClassInfoFrame_btnEdit_actionAdapter(ClassInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

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


class ClassInfoFrame_btnCancel_actionAdapter implements ActionListener {
    private ClassInfoFrame adaptee;
    ClassInfoFrame_btnCancel_actionAdapter(ClassInfoFrame adaptee) {
        this.adaptee = adaptee;
    }

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

⌨️ 快捷键说明

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