📄 frame1.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 + -