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

📄 quanxian.java

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

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JToggleButton;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Vector;
import java.sql.SQLException;
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.ListSelectionModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.JOptionPane;

/**
 * <p>Title: 管理權限</p>
 *
 * <p>Description:徐寒靜 </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class QuanXian extends JPanel {
    public QuanXian() {
        try {
            jbInit();//初始化
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }
//權限管理界面
    private void jbInit() throws Exception {
        this.setLayout(null);
        jScrollPane1.setBounds(new Rectangle(28, 33, 297, 220));
        jLabel1.setText("用戶名:");
        jLabel1.setBounds(new Rectangle(350, 43, 63, 25));
        jTextField1.setEnabled(false);//用戶名不可以輸入
        jTextField1.setBounds(new Rectangle(411, 42, 112, 23));
        jLabel2.setText("密碼:");
        jLabel2.setBounds(new Rectangle(350, 85, 60, 17));
        jTextField2.setEnabled(false);//密碼不可輸入
        jTextField2.setBounds(new Rectangle(412, 80, 112, 23));
        jButton1.setBounds(new Rectangle(407, 222, 71, 25));
        jButton1.setText("修改");
        jButton1.addActionListener(new QuanXian_jButton1_actionAdapter(this));
        jButton2.setBounds(new Rectangle(472, 221, 71, 25));
        jButton2.setText("刪除");
        jButton2.addActionListener(new QuanXian_jButton2_actionAdapter(this));
        jLabel3.setText("權限:");
        jLabel3.setBounds(new Rectangle(350, 116, 48, 26));
        jComboBox1.setEnabled(false);//下拉列表不能改
        jComboBox1.setBounds(new Rectangle(411, 116, 112, 22));
        jComboBox1.addActionListener(new QuanXian_jComboBox1_actionAdapter(this));
        jButton3.setBounds(new Rectangle(338, 223, 70, 24));
        jButton3.setText("增加");
        jButton3.addActionListener(new QuanXian_jButton3_actionAdapter(this));
        jtableInit();//初始化表標
        jTable1.setToolTipText("");
        jTable1.setSelectionForeground(new Color(72, 92, 184));
        jTable1.addMouseListener(new QuanXian_jTable1_mouseAdapter(this));//增加點擊事件
        jTable1.addKeyListener(new QuanXian_jTable1_keyAdapter(this));
        // 給下拉列表加 班主任,任課老師,管理員

             jComboBox1.addItem("班主任");
             jComboBox1.addItem("任課老師");
              jComboBox1.addItem("管理員");
        this.add(jScrollPane1);
        this.add(jTextField2);
        this.add(jLabel1);
        this.add(jTextField1);
        this.add(jLabel2);
        this.add(jLabel3);
        this.add(jComboBox1);
        this.add(jButton3);
        this.add(jButton1);
        this.add(jButton2);



        jScrollPane1.getViewport().add(jTable1);//給表列加滾動條
    }

    JScrollPane jScrollPane1 = new JScrollPane();
    JTable jTable1 = new JTable();
    JLabel jLabel1 = new JLabel();
    JTextField jTextField1 = new JTextField();
    JLabel jLabel2 = new JLabel();
    JTextField jTextField2 = new JTextField();
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    JLabel jLabel3 = new JLabel();
    JComboBox jComboBox1 = new JComboBox();
    JButton jButton3 = new JButton();
    Object[][] strInfo_cell;//表標裏的對象
    String[] strColnames;//表頭
    int row=0;//所選行
//初始化列表
    private void jtableInit()
    {

        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驅動加載
        } catch (ClassNotFoundException ex) {
        }
        //查鬮用戶權限表
        String sql = "select username as 用戶名,password as 密碼,權限=case quanxian_ID when '1' then '班主任'when '2' then '任課老師'when '3' then '管理員'end from usertable";
        try {
            Connection con = DriverManager.getConnection("jdbc:odbc:glxt"); //數據橋連名子為ODBC名為glxt
            PreparedStatement pstm = con.prepareStatement(sql);
            ResultSet rs = pstm.executeQuery();
            ResultSetMetaData rsmd = rs.getMetaData();
            //用來存讀出的數據
            Vector temp = new Vector();
            //處理結果
            while (rs.next()) {

                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()];
                //把內容寫入數組
                for (int i = 0; i < rsmd.getColumnCount(); i++) {
                    strColnames[i] = new String(rsmd.getColumnLabel(i + 1));
                }

                for (int i = 0; i < temp.size() / rsmd.getColumnCount(); i++) {
                    for (int j = 0; j < rsmd.getColumnCount(); j++) {
                    strInfo_cell[i][j] = temp.elementAt(i * rsmd.getColumnCount() +
                            j);
                }
                }
                //使表為空
                        if (jTable1 != null) {
                    jTable1 = null;
                }
                //將數據寫入表格

                //————————————————使表不能更改
                DefaultTableModel model = new DefaultTableModel(strInfo_cell,
                        strColnames) {
                    public boolean isCellEditable(int row, int column) {

                        return false;
                    }
                };
                //————————————————————————————

                jTable1 = new JTable(model);//實例化表格
                 jScrollPane1.getViewport().add( jTable1);
                rs.close();
                pstm.close();
                con.close();



        } catch (SQLException ex1) {
            ex1.printStackTrace();
        }

        }

    public void jTable1_keyPressed(KeyEvent e) {

    }
//點擊表格
    public void jTable1_mouseClicked(MouseEvent e) {

        ListSelectionModel lsm=jTable1.getSelectionModel();
                    row=lsm.getLeadSelectionIndex();//現在遷擇的行
                    String a0=String.valueOf(jTable1.getValueAt(lsm.getLeadSelectionIndex(),0));//名字
                     String a1=String.valueOf(jTable1.getValueAt(lsm.getLeadSelectionIndex(),1));//密碼
                     String a2=String.valueOf(jTable1.getValueAt(lsm.getLeadSelectionIndex(),2));//權限
                     //——————將數據寫到對應該的組件
                     jTextField1.setText(a0);
                    jTextField2.setText(a1);
                    jComboBox1.setSelectedItem(a2);
                    //————————————————

    }

    public void jComboBox1_actionPerformed(ActionEvent e) {

    }
//增加用戶
    public void jButton3_actionPerformed(ActionEvent e) {
        if (jButton3.getText().equals("增加")) {//當增加時
            //————————初始化界面
            jTextField1.setEnabled(true);
            jTextField2.setEnabled(true);
            jComboBox1.setEnabled(true);
            jTable1.setEnabled(false);
            jButton1.setEnabled(false);
            jButton2.setEnabled(false);
            jButton3.setText("確定");
        //——————————————————
        } else if (jButton3.getText().equals("確定")) {//當確定時
            //——————————如果空時
            if (jTextField1.getText().equals("")) {
                JOptionPane.showMessageDialog(null, "名稱不能為空");
                return;
            } else if (jTextField2.getText().equals("")) {
                JOptionPane.showMessageDialog(null, "密碼不能為空");
                return;
            } //——————————————————
            else {
                String username = jTextField1.getText();//保存用戶名
                String password = jTextField2.getText();//保存密碼
                int qx = jComboBox1.getSelectedIndex() + 1;//保存權限

⌨️ 快捷键说明

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