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

📄 mainframe.java

📁 学生管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

package xxglxt;

import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.*;
import java.util.Vector;
import javax.swing.table.TableCellEditor;
import javax.swing.table.JTableHeader;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseMotionAdapter;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyVetoException;
import java.beans.VetoableChangeListener;
import javax.swing.event.*;
import javax.swing.tree.DefaultMutableTreeNode;


/**
 * <p>Title: 程序功能主窗體</p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class MainFrame extends JFrame {
    int qx;//權限
    public MainFrame(int qx) {
        this.qx=qx;//得到權限
        try {
            setResizable(false); //不能改變窗體大小
            setDefaultCloseOperation(EXIT_ON_CLOSE); //關閉按鍵
            jbInit(); //調用登陸主界面
        } catch (Exception e) {
            e.printStackTrace();
            JOptionPane.showMessageDialog(null, "程序被修改,已存在嚴重問題。"); //程序出現問題
            System.exit( -1); //程序非正常退出
        }

        try {

            this.setTitle("北大青鳥學生管理系統");
            this.setSize(640, 480);//設置窗體大小
            this.setVisible(true);//使窗體可見
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() {
        for(int i=0;i<=100;i++){//0到100的成績選項
            jComboBox2.addItem(i);
            jComboBox3.addItem(i);
        }
        getContentPane().setLayout(null);
        this.setJMenuBar(jMenuBar1);//加菜單
        jMenu1.setText("用戶");
        jMenuItem1.setText("更改用戶");
        jMenuItem1.addActionListener(new MainFrame_jMenuItem1_actionAdapter(this));//更改觸發事件
        jMenuItem2.setText("退出");
        jMenuItem2.addActionListener(new MainFrame_jMenuItem2_actionAdapter(this));//退出事件
        jMenu6.setText("幫助");
        jTabbedPane1.setBounds(new Rectangle(13, 49, 588, 316));
        jPanel5.setLayout(null);
        jTree1.setAutoscrolls(true);
        jTree1.addVetoableChangeListener(new
                                         MainFrame_jTree1_vetoableChangeAdapter(this));
        jTree1.addTreeSelectionListener(new
                                        MainFrame_jTree1_treeSelectionAdapter(this));
        jScrollPane1.setBounds(new Rectangle(10, 44, 143, 236));
        jMenuItem3.setText("幫助主題");
        jMenuItem3.addActionListener(new MainFrame_jMenuItem3_actionAdapter(this));
        jMenuItem4.setText("關於程序");
        jMenuItem4.addActionListener(new MainFrame_jMenuItem4_actionAdapter(this));
        jComboBox1.setBounds(new Rectangle(236, 17, 70, 21));
        jComboBox1.addActionListener(new MainFrame_jComboBox1_actionAdapter(this));
        jLabel1.setText("课程名:");
        jLabel1.setBounds(new Rectangle(171, 18, 59, 20));
        jLabel2.setText("成绩下限");
        jLabel2.setBounds(new Rectangle(168, 51, 62, 17));
        jComboBox2.setBounds(new Rectangle(236, 50, 69, 22));
        jComboBox2.addActionListener(new MainFrame_jComboBox2_actionAdapter(this));
        jLabel3.setText("成绩上限");
        jLabel3.setBounds(new Rectangle(171, 83, 59, 17));
        jComboBox3.setBounds(new Rectangle(236, 81, 69, 22));
        jButton1.setBounds(new Rectangle(210, 115, 64, 21));
        jButton1.setText("查找");
        jButton1.addActionListener(new MainFrame_jButton1_actionAdapter(this));
        jLabel4.setBorder(titledBorder1);
        jLabel4.setBounds(new Rectangle(159, 10, 163, 141));
        jButton2.setBounds(new Rectangle(355, 17, 94, 24));
        jButton2.setText("班级信息");
        jButton2.addActionListener(new MainFrame_jButton2_actionAdapter(this));
        jButton3.setBounds(new Rectangle(355, 49, 93, 25));
        jButton3.setText("学生信息");
        jButton3.addActionListener(new MainFrame_jButton3_actionAdapter(this));
        jButton4.setBounds(new Rectangle(456, 18, 93, 24));
        jButton4.setText("课程信息");
        jButton4.addActionListener(new MainFrame_jButton4_actionAdapter(this));
        jScrollPane2.setBounds(new Rectangle(159, 169, 389, 110));
        jMenuBar1.add(jMenu1);
        jMenuBar1.add(jMenu6);
        jMenu1.add(jMenuItem1);
        jMenu1.add(jMenuItem2);
        this.getContentPane().add(jTabbedPane1);
        ClassFrame cf = new ClassFrame();
        jPanel1 = cf.jbInit();
        if(qx==3){//當權限為管理員
        jTabbedPane1.add(jPanel1, "班級管理");
        jTabbedPane1.add(new StuFrame(), "學生管理");
        jTabbedPane1.add(new KcFrame(), "課程管理");
        jTabbedPane1.add(new cjframe(), "成績管理");
        jTabbedPane1.add(jPanel5, "信息查詢");
        jTabbedPane1.add(new QuanXian(), "用戶管理");
        }else if(qx==2){//當權限為任課老師
            jTabbedPane1.add(new KcFrame(), "課程管理");
        jTabbedPane1.add(new cjframe(), "成績管理");
        jTabbedPane1.add(jPanel5, "信息查詢");
        }else{//當權限為班主任
                jTabbedPane1.add(jPanel1, "班級管理");
        jTabbedPane1.add(new StuFrame(), "學生管理");
        jTabbedPane1.add(jPanel5, "信息查詢");
        }
        jPanel5.add(jScrollPane1);
        jPanel5.add(jComboBox3);
        jPanel5.add(jLabel1);
        jPanel5.add(jComboBox1);
        jPanel5.add(jLabel2);
        jPanel5.add(jComboBox2);
        jPanel5.add(jLabel3);
        jPanel5.add(jButton1);
        jPanel5.add(jLabel4);
        jPanel5.add(jButton2);
        jPanel5.add(jButton3);
        jPanel5.add(jScrollPane2);
        jPanel5.add(jButton4);
        SelectFrame selectdata = new SelectFrame();
        jTree1 = selectdata.jtree(); //加載樹中的元素
        jScrollPane1.getViewport().add(jTree1);
        jTree1.addTreeSelectionListener(new TreeSelectionListener() {
                   public void valueChanged(TreeSelectionEvent e) {
                   DefaultMutableTreeNode node=(DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent();
                   Object nodeInfo=node.getUserObject();
                   int inttemp=0;

                   if(node.isRoot()){//現在為學校
                      inttemp=1;
                   }else if(node.isLeaf()){//現在為班級
                       inttemp=3;
                   }else{//現在為年級
                       inttemp=2;
                       }
                       Object[][] strInfo_cell;
                        String[] strColnames;
                       String sqltree="";

                       try {
                           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驅動加載
                       } catch (ClassNotFoundException ex) {
                       }
                       Connection contree=null;
               PreparedStatement pstmtree=null;
               ResultSet rstree=null;
                try {
                    contree = DriverManager.getConnection("jdbc:odbc:glxt"); //數據橋連名子為ODBC名為glxt


                    if (inttemp == 1) {
                        sqltree = "select class_name as '班級名',class_bzr as '班主任',class_rkls as '任課老師',grade_name as '年級' from classtable ,gradetable where classtable.grade_id=gradetable.grade_id";
                        pstmtree = contree.prepareStatement(sqltree);
                    } else if (inttemp == 2) {
                        sqltree = "select class_name as '班級名',class_bzr as '班主任',class_rkls as '任課老師',grade_name as '年級' from classtable ,gradetable where classtable.grade_id=gradetable.grade_id and grade_name=?";
                        pstmtree = contree.prepareStatement(sqltree);
                        pstmtree.setString(1,String.valueOf(nodeInfo));
                    } else if (inttemp == 3) {
                        sqltree = "select class_name as '班級名',class_bzr as '班主任',class_rkls as '任課老師',grade_name as '年級' from classtable ,gradetable where classtable.grade_id=gradetable.grade_id and class_name=?";
                        pstmtree = contree.prepareStatement(sqltree);
                        pstmtree.setString(1,String.valueOf(nodeInfo));
                    }

                    rstree = pstmtree.executeQuery();
                    ResultSetMetaData rsmdtree = rstree.getMetaData();
                    Vector temp = new Vector();

                    while(rstree.next()){
//
                        for(int i = 0; i < rsmdtree.getColumnCount(); i++ ){
                            temp.addElement(rstree.getString(i+1));
                        }
                    }

                    strInfo_cell = new String[temp.size()/rsmdtree.getColumnCount()][rsmdtree.getColumnCount()];

                    strColnames = new String[rsmdtree.getColumnCount()];

                    for (int i = 0; i < rsmdtree.getColumnCount(); i++) {
                        strColnames[i] = new String(rsmdtree.getColumnLabel(i+1));
                    }

                    for(int i = 0; i < temp.size()/rsmdtree.getColumnCount(); i++){
                        for(int j = 0; j < rsmdtree.getColumnCount(); j++){
                            strInfo_cell[i][j] = temp.elementAt(i*rsmdtree.getColumnCount()+j);
                        }
                    }
                    if(jTable1 != null){
                        jTable1 = null;
                    }

                    jTable1 = new JTable(strInfo_cell,strColnames);
                    jScrollPane2.getViewport().add(jTable1);
                } catch (SQLException ex1) {
                    ex1.printStackTrace();
        }finally{
            try {
                rstree.close();
                pstmtree.close();
                contree.close();
            } catch (SQLException ex2) {
            }

        }











                   }
               });
        jMenu6.add(jMenuItem3);
        jMenu6.add(jMenuItem4);
        jScrollPane2.getViewport().add(jTable1);
        csh();
    }
private void csh(){
    String sql="select kc_name from kctable";
    new sun.jdbc.odbc.JdbcOdbcDriver();
    try {
        Connection con = DriverManager.getConnection("jdbc:odbc:glxt");
        PreparedStatement pre=con.prepareStatement(sql);
        ResultSet result=pre.executeQuery();
        while(result.next()){
            jComboBox1.addItem(result.getString(1));
        }
    } catch (SQLException ex) {
    }

}

    JMenuBar jMenuBar1 = new JMenuBar();
    JMenu jMenu1 = new JMenu();
    JMenuItem jMenuItem1 = new JMenuItem();
    JMenuItem jMenuItem2 = new JMenuItem();
    JMenu jMenu6 = new JMenu();
    JTabbedPane jTabbedPane1 = new JTabbedPane();
    JPanel jPanel1 = new JPanel();
    JPanel jPanel2 = new JPanel();
    JPanel jPanel3 = new JPanel();
    JPanel jPanel4 = new JPanel();
    JPanel jPanel5 = new JPanel();
    JTree jTree1 = new JTree();
    static JScrollPane jScrollPane1 = new JScrollPane();
    JMenuItem jMenuItem3 = new JMenuItem();
    JMenuItem jMenuItem4 = new JMenuItem();
    JComboBox jComboBox1 = new JComboBox();
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JComboBox jComboBox2 = new JComboBox();
    JLabel jLabel3 = new JLabel();
    JComboBox jComboBox3 = new JComboBox();
    JButton jButton1 = new JButton();
    JLabel jLabel4 = new JLabel();
    TitledBorder titledBorder1 = new TitledBorder("");
    JButton jButton2 = new JButton();
    JButton jButton3 = new JButton();
    JButton jButton4 = new JButton();
    JScrollPane jScrollPane2 = new JScrollPane();
    JTable jTable1 = new JTable();
    public void jMenuItem3_actionPerformed(ActionEvent e) {
        new HelpJDialog(this);
        this.setEnabled(false);
    }
    public void jMenuItem4_actionPerformed(ActionEvent e) {
        new AboutJDialog(this);
        this.setEnabled(false);
    }
    public void jMenuItem2_actionPerformed(ActionEvent e) {
        System.exit(0);
    }
    public void jMenuItem1_actionPerformed(ActionEvent e) {
        this.dispose();
        new Frame1();

    }
    public void jComboBox1_actionPerformed(ActionEvent e) {

    }
    public void jComboBox2_actionPerformed(ActionEvent e) {

    }
    public void jButton2_actionPerformed(ActionEvent e) {
        initJButton2();
    }
    Object[][] strInfo_cell;
    String[] strColnames;
    public void initJButton2(){
        try {
                    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驅動加載
                } catch (ClassNotFoundException ex) {
                }

                String sql = "select Grade_name as 年級,class_name as 班級,class_bzr as 班主任,class_rkls as 任課老師,class_massage as 班級信息 from classtable,gradetable where gradetable.Grade_id=classtable.Grade_id";
                try {
                    Connection con = DriverManager.getConnection("jdbc:odbc:glxt"); //數據橋連名子為ODBC名為glxt

                    PreparedStatement pstm = con.prepareStatement(sql);
//                    pstm.setInt(1,);where grade_id=
                    ResultSet rs = pstm.executeQuery();
                    ResultSetMetaData rsmd = rs.getMetaData();
//                    System.out.println("rsmd-->" + rsmd.getColumnCount());
                    Vector temp = new Vector();
                    while(rs.next()){
//                        System.out.println("hhhhhhhh");
                        for(int i = 0; i < rsmd.getColumnCount(); i++ ){
                            temp.addElement(rs.getString(i+1));
                        }
                    }

                    strInfo_cell = new String[temp.size()/rsmd.getColumnCount()][rsmd.getColumnCount()];

                    strColnames = new String[rsmd.getColumnCount()];
//                    System.out.println("rsmd.getColumnCount()-->"+rsmd.getColumnCount());
                    for (int i = 0; i < rsmd.getColumnCount(); i++) {
                        strColnames[i] = new String(rsmd.getColumnLabel(i+1));
                    }

⌨️ 快捷键说明

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