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

📄 frame1.java~143~

📁 学生管理系统
💻 JAVA~143~
字号:
package xxglxt;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.*;

/**
 *
 * <p>登陸窗口 </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
//登陸界面程序
public class Frame1 extends JFrame {
    JPanel contentPane;
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JLabel jLabel3 = new JLabel();
    JPasswordField jPasswordField1 = new JPasswordField(); //密碼輸入
    JComboBox jComboBox1 = new JComboBox(); //用戶名下拉列表
    JComboBox jComboBox2 = new JComboBox(); //權限下拉列表
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    JLabel jLabel4 = new JLabel();
    String strtemp = ""; //用來存放暫時的字符串
    int inttemp = 0; //用來存放暫時的數字
    ResultSet result; //保存結果集
    Connection con; //連接
    PreparedStatement pre; //SQL語句處理
    String sql; //SQL語句
    private int qx=0;

//設置窗體屬性
    public Frame1() {
        try {
            Class theClass = Frame1.class;
            java.net.URL u = theClass.getResource("");
            System.out.println( "當前的絕對路徑為:" +u);
            String u1 = u.toString();

            SpleshWindow splash=new SpleshWindow(u1+"aa.jpg",this,10000);
            setResizable(false); //不能改變窗體大小
            setDefaultCloseOperation(EXIT_ON_CLOSE); //關閉按鍵
            //获取屏幕的分辨率大小
                Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

                //将欢迎画面放在屏幕中间
               this.setBounds(screenSize.width/2-210,screenSize.height/2-150,250,250);

            jbInit(); //調用登陸主界面
        } catch (Exception exception) {
            JOptionPane.showMessageDialog(null, "程序被修改,已存在嚴重問題。"); //程序出現問題
            System.exit( -1); //程序非正常退出
        }
    }

//加載界面
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane(); //窗體的面板
        contentPane.setLayout(null); //空布局
        setSize(new Dimension(416, 288)); //設大小
        setTitle("北大青烏學生管理系統"); //設標題
//界面布局開始——————————————————————————————
        jLabel1.setText("用戶名:");
        jLabel1.setBounds(new Rectangle(90, 77, 101, 41));
        jLabel2.setText("密  碼:");
        jLabel2.setBounds(new Rectangle(90, 122, 77, 33));
        jLabel3.setText("權  限:");
        jLabel3.setBounds(new Rectangle(91, 165, 76, 34));
        jPasswordField1.setBounds(new Rectangle(156, 132, 169, 22));
        jComboBox1.setBounds(new Rectangle(157, 89, 166, 22));
        jComboBox1.addActionListener(new Frame1_jComboBox1_actionAdapter(this)); //用戶下拉列表事件
        jComboBox2.setForeground(Color.red);
        jComboBox2.setBounds(new Rectangle(155, 169, 168, 22));
        jComboBox2.addActionListener(new Frame1_jComboBox2_actionAdapter(this)); //權限下拉列表事件
        jButton1.setBounds(new Rectangle(91, 221, 90, 33));
        jButton1.setText("登陸");
        jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this)); //登陸按鍵事件
        jButton2.setBounds(new Rectangle(233, 220, 90, 32));
        jButton2.setText("退出");
        jButton2.addActionListener(new Frame1_jButton2_actionAdapter(this)); //退出按鍵事件
        jLabel4.setFont(new java.awt.Font("新宋体", Font.BOLD, 25));
        jLabel4.setForeground(Color.red);
        jLabel4.setText("北大青鳥學生管理系統");
        jLabel4.setBounds(new Rectangle(82, 25, 300, 53));
        contentPane.add(jLabel1);
        contentPane.add(jLabel2);
        contentPane.add(jPasswordField1);
        contentPane.add(jComboBox1);
        contentPane.add(jLabel3);
        contentPane.add(jComboBox2);
        contentPane.add(jButton2);
        contentPane.add(jButton1);
        contentPane.add(jLabel4);
        init(); //調用初始化事件
        this.setVisible(true);
        //界面布局結束————————————————————————
    }

//初始化界面信息
    public void init() {
        try {

            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驅動加載
            con = DriverManager.getConnection("jdbc:odbc:glxt"); //數據橋連名子為ODBC名為glxt
            //給權限下拉列表初始值——————————————————————————————————————————
            sql = "select quanxian_name,quanxian_ID from quanxian"; //查出權限表中的權限名(1)和權限ID(2)話句
            pre = con.prepareStatement(sql); //處理語句
            result = pre.executeQuery(); //返回結果集
            while (result.next()) { //看結果集是否有記錄
                jComboBox2.addItem(result.getString(1)); //如果有把權限名加到權限下拉列表
            }
            result.close();
            pre.close();
            //給權限下拉列表初始值完成————————————————————————————————————————————————

            //給姓名下拉列表初始值————————————————————————————————————————————
            sql = "select quanxian_ID from quanxian where quanxian_name=? "; //在權限表中根據權限名查權限ID語法
            pre = con.prepareStatement(sql); //處理SQL語句
            pre.setString(1, String.valueOf(jComboBox2.getSelectedItem())); //處理SQL語句?
            result = pre.executeQuery(); //運行SQL語句返回值
            if (result.next()) { //看結果集是否有記錄
                inttemp = result.getInt(1); //把權限ID取出來。
            }
            result.close();
            pre.close();

            sql = "select username from usertable where quanxian_ID=? "; //在用戶表中根據權限ID找用戶名字
            pre = con.prepareStatement(sql); //處理SQL語句
            pre.setInt(1, inttemp); //處理SQL語句?
            result = pre.executeQuery(); //運行SQL語句返回值
            jComboBox1.removeAllItems(); //清空用戶名下拉列表
            while (result.next()) { //遍曆記錄
                jComboBox1.addItem(result.getString(1)); //把結果加入用戶下拉列表
            }

            result.close();
            pre.close();
            inttemp = 0;
            //給姓名下拉列表初始值完成————————————————————————————————————————————



        } catch (ClassNotFoundException ex) {
            //驅程不存在
            JOptionPane.showMessageDialog(null, "驅程不存在");
        } catch (SQLException ex1) {
            //ODBC連接失敗
            JOptionPane.showMessageDialog(null, "ODBC連接失敗");
        }

    }

//登陸按扭
    public void jButton1_actionPerformed(ActionEvent e) {

        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驅動加載
            con = DriverManager.getConnection("jdbc:odbc:glxt"); //數據橋連名子為ODBC名為glxt
            sql = "select * from usertable where username=? and password=?"; //SQL語句查看用戶表中是否有名字密碼權限相同的記錄
            pre = con.prepareStatement(sql); //處理語句
            strtemp = String.valueOf(jPasswordField1.getPassword()); //提出密碼字符串
            pre.setString(1, String.valueOf(jComboBox1.getSelectedItem())); //把名字加入SQL語句
            pre.setString(2, strtemp); //把密碼加入SQL語句
            result = pre.executeQuery(); //執行SQL語句
            if (result.next()) { //看有沒有記錄
                try {
                    result.close(); //關閉結果
                    pre.close(); //關閉SQL語句
                    con.close(); //關閉連接
                } catch (SQLException ex1) {
                }
                dispose(); //關閉自己
                new MainFrame(qx); //打開主窗體

            } else {
                JOptionPane.showMessageDialog(null, "密碼錯誤"); //彈出錯誤對話
            }

        } catch (SQLException ex) {

        } catch (ClassNotFoundException ex) {

        }

    }

//退出程序
    public void jButton2_actionPerformed(ActionEvent e) {
        dispose(); //關閉自己
    }

//選擇權限下拉列表
    public void jComboBox2_actionPerformed(ActionEvent e) {
        sql = "select quanxian_ID from quanxian where quanxian_name=? "; //根據權限名查把權限ID的SQL語句
        try {

            pre = con.prepareStatement(sql); //處理SQL語句
            pre.setString(1, String.valueOf(jComboBox2.getSelectedItem())); //改SQL語句中的?
            result = pre.executeQuery(); //運行SQL語句,把結果保存
            if (result.next()) {
                inttemp = result.getInt(1); //取出權限ID
                result.close(); //關閉結果集
                pre.close(); //關閉SQL語句
                sql = "select username,quanxian_ID from usertable where quanxian_ID=? "; //根據權限ID查找用戶名的SQL語句
                pre = con.prepareStatement(sql); //處理SQL語句
                pre.setInt(1, inttemp); //改SQL語句中的?
                result = pre.executeQuery(); //運行SQL語句,把結果保存
                jComboBox1.removeAllItems(); //清空用戶名下拉列表
                while (result.next()) { //遍曆結果
                    jComboBox1.addItem(result.getString(1)); //把結果加到用戶下拉列表
                    qx=result.getInt(2);
                }

            }

        } catch (SQLException ex) {

        }

    }

//以下為JBuilder2006自動生成——————————————————————————
    public void jComboBox1_actionPerformed(ActionEvent e) {

    }
}


class Frame1_jComboBox1_actionAdapter implements ActionListener {
    private Frame1 adaptee;
    Frame1_jComboBox1_actionAdapter(Frame1 adaptee) {
        this.adaptee = adaptee;
    }

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


class Frame1_jComboBox2_actionAdapter implements ActionListener {
    private Frame1 adaptee;
    Frame1_jComboBox2_actionAdapter(Frame1 adaptee) {
        this.adaptee = adaptee;
    }

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


class Frame1_jButton2_actionAdapter implements ActionListener {
    private Frame1 adaptee;
    Frame1_jButton2_actionAdapter(Frame1 adaptee) {
        this.adaptee = adaptee;
    }

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


class Frame1_jButton1_actionAdapter implements ActionListener {
    private Frame1 adaptee;
    Frame1_jButton1_actionAdapter(Frame1 adaptee) {
        this.adaptee = adaptee;
    }

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

//以上為JBuilder2006自動生成結束——————————————————————————

⌨️ 快捷键说明

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