?? frame1.java
字號(hào):
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(); //權(quán)限下拉列表
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JLabel jLabel4 = new JLabel();
String strtemp = ""; //用來存放暫時(shí)的字符串
int inttemp = 0; //用來存放暫時(shí)的數(shù)字
ResultSet result; //保存結(jié)果集
Connection con; //連接
PreparedStatement pre; //SQL語句處理
String sql; //SQL語句
private int qx=0;//3為管理員,1為班主任,2為任課老師
//設(shè)置窗體屬性
public Frame1() {
try {
Class theClass = Frame1.class;
java.net.URL u = theClass.getResource("");//查看當(dāng)前類的路徑
String u1 = u.toString()+"aa.jpg";//aa.jpg為加載的圖片名。U1存圖片的路徑
u1=u1.replaceAll("file:/","");//將U1變量裏前的多餘字符去掉
u1=u1.replaceAll("%20"," ");//將路麼中的%20轉(zhuǎn)為空格
u1=u1.replaceAll("%e6%a1%8c%e9%9d%a2","桌面");
System.out.println( "當(dāng)前的絕對(duì)路徑為:" +u1);
SpleshWindow splash=new SpleshWindow(u1,this,10000);//啟用圖片線程,使圖片和窗體一起出現(xiàn)。
setResizable(false); //不能改變窗體大小
setDefaultCloseOperation(EXIT_ON_CLOSE); //關(guān)閉按鍵
//獲取屏幕的分辨率大小
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
//將歡迎畫面放在屏幕中間
this.setBounds(screenSize.width/2-210,screenSize.height/2-150,250,250);
jbInit(); //調(diào)用登陸主界面
} catch (Exception exception) {
JOptionPane.showMessageDialog(null, "程序被修改,已存在嚴(yán)重問題。"); //程序出現(xiàn)問題
System.exit( -1); //程序非正常退出
}
}
//加載界面
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane(); //窗體的面板
contentPane.setLayout(null); //空布局
setSize(new Dimension(416, 288)); //設(shè)大小
setTitle("北大青烏學(xué)生管理系統(tǒng)"); //設(shè)標(biāo)題
//界面布局開始——————————————————————————————
jLabel1.setText("用戶名:");
jLabel1.setBounds(new Rectangle(90, 77, 101, 41));
jLabel2.setText("密 碼:");
jLabel2.setBounds(new Rectangle(90, 122, 77, 33));
jLabel3.setText("權(quán) 限:");
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)); //權(quán)限下拉列表事件
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("北大青鳥學(xué)生管理系統(tǒng)");
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(); //調(diào)用初始化事件
this.setVisible(true);
//界面布局結(jié)束————————————————————————
}
//初始化界面信息
public void init() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驅(qū)動(dòng)加載
con = DriverManager.getConnection("jdbc:odbc:glxt"); //數(shù)據(jù)橋連名子為ODBC名為glxt
//給權(quán)限下拉列表初始值——————————————————————————————————————————
sql = "select quanxian_name,quanxian_ID from quanxian"; //查出權(quán)限表中的權(quán)限名(1)和權(quán)限ID(2)話句
pre = con.prepareStatement(sql); //處理語句
result = pre.executeQuery(); //返回結(jié)果集
while (result.next()) { //看結(jié)果集是否有記錄
jComboBox2.addItem(result.getString(1)); //如果有把權(quán)限名加到權(quán)限下拉列表
}
result.close();
pre.close();
//給權(quán)限下拉列表初始值完成————————————————————————————————————————————————
//給姓名下拉列表初始值————————————————————————————————————————————
sql = "select quanxian_ID from quanxian where quanxian_name=? "; //在權(quán)限表中根據(jù)權(quán)限名查權(quán)限ID語法
pre = con.prepareStatement(sql); //處理SQL語句
pre.setString(1, String.valueOf(jComboBox2.getSelectedItem())); //處理SQL語句?
result = pre.executeQuery(); //運(yùn)行SQL語句返回值
if (result.next()) { //看結(jié)果集是否有記錄
inttemp = result.getInt(1); //把權(quán)限ID取出來。
}
result.close();
pre.close();
sql = "select username from usertable where quanxian_ID=? "; //在用戶表中根據(jù)權(quán)限ID找用戶名字
pre = con.prepareStatement(sql); //處理SQL語句
pre.setInt(1, inttemp); //處理SQL語句?
result = pre.executeQuery(); //運(yùn)行SQL語句返回值
jComboBox1.removeAllItems(); //清空用戶名下拉列表
while (result.next()) { //遍曆記錄
jComboBox1.addItem(result.getString(1)); //把結(jié)果加入用戶下拉列表
}
result.close();
pre.close();
inttemp = 0;
//給姓名下拉列表初始值完成————————————————————————————————————————————
} catch (ClassNotFoundException ex) {
//驅(qū)程不存在
JOptionPane.showMessageDialog(null, "驅(qū)程不存在");
} catch (SQLException ex1) {
//ODBC連接失敗
JOptionPane.showMessageDialog(null, "ODBC連接失敗");
}
}
//登陸按扭
public void jButton1_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驅(qū)動(dòng)加載
con = DriverManager.getConnection("jdbc:odbc:glxt"); //數(shù)據(jù)橋連名子為ODBC名為glxt
sql = "select * from usertable where username=? and password=?"; //SQL語句查看用戶表中是否有名字密碼權(quán)限相同的記錄
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(); //執(zhí)行SQL語句
if (result.next()) { //看有沒有記錄
try {
result.close(); //關(guān)閉結(jié)果
pre.close(); //關(guān)閉SQL語句
con.close(); //關(guān)閉連接
} catch (SQLException ex1) {
}
dispose(); //關(guān)閉自己
new MainFrame(qx); //打開主窗體
} else {
JOptionPane.showMessageDialog(null, "密碼錯(cuò)誤"); //彈出錯(cuò)誤對(duì)話
}
} catch (SQLException ex) {
} catch (ClassNotFoundException ex) {
}
}
//退出程序
public void jButton2_actionPerformed(ActionEvent e) {
dispose(); //關(guān)閉自己
}
//選擇權(quán)限下拉列表
public void jComboBox2_actionPerformed(ActionEvent e) {
sql = "select quanxian_ID from quanxian where quanxian_name=? "; //根據(jù)權(quán)限名查把權(quán)限ID的SQL語句
try {
pre = con.prepareStatement(sql); //處理SQL語句
pre.setString(1, String.valueOf(jComboBox2.getSelectedItem())); //改SQL語句中的?
result = pre.executeQuery(); //運(yùn)行SQL語句,把結(jié)果保存
if (result.next()) {
inttemp = result.getInt(1); //取出權(quán)限ID
result.close(); //關(guān)閉結(jié)果集
pre.close(); //關(guān)閉SQL語句
sql = "select username,quanxian_ID from usertable where quanxian_ID=? "; //根據(jù)權(quán)限ID查找用戶名的SQL語句
pre = con.prepareStatement(sql); //處理SQL語句
pre.setInt(1, inttemp); //改SQL語句中的?
result = pre.executeQuery(); //運(yùn)行SQL語句,把結(jié)果保存
jComboBox1.removeAllItems(); //清空用戶名下拉列表
while (result.next()) { //遍曆結(jié)果
jComboBox1.addItem(result.getString(1)); //把結(jié)果加到用戶下拉列表
qx=result.getInt(2);
}
}
} catch (SQLException ex) {
}
}
//以下為JBuilder2006自動(dòng)生成——————————————————————————
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自動(dòng)生成結(jié)束——————————————————————————
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -