?? quanxian.java~53~
字號:
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("修改");
jButton2.setBounds(new Rectangle(478, 221, 71, 25));
jButton2.setText("刪除");
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;
//初始化列表
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();
int 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("確定")) {
jTextField1.setEnabled(false);
jTextField2.setEnabled(false);
jComboBox1.setEnabled(false);
jTable1.setEnabled(true);
jButton1.setEnabled(true);
jButton2.setEnabled(true);
String username=jTextField1.getText();
String password=jTextField2.getText();
int qx=jComboBox1.getSelectedIndex()+1;
new sun.jdbc.odbc.JdbcOdbcDriver();
String url="jdbc:odbc:glxt";
String sql="insert into usertable(username,[password],quanxian_id)values(?,?,?)";
Connection con=null;
PreparedStatement pre=null;
try {
con = DriverManager.getConnection(url);
pre=con.prepareStatement(sql);
pre.setString(1,username);
pre.setString(2,password);
pre.setInt(3,qx);
pre.executeUpdate();
JOptionPane.showMessageDialog(null,"增加成功");
} catch (SQLException ex) {
ex.printStackTrace();
}finally{
pre.close();
con.close();
}
jtableInit();
jButton3.setText("增加");
}
}
}
class QuanXian_jButton3_actionAdapter implements ActionListener {
private QuanXian adaptee;
QuanXian_jButton3_actionAdapter(QuanXian adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton3_actionPerformed(e);
}
}
class QuanXian_jComboBox1_actionAdapter implements ActionListener {
private QuanXian adaptee;
QuanXian_jComboBox1_actionAdapter(QuanXian adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jComboBox1_actionPerformed(e);
}
}
class QuanXian_jTable1_keyAdapter extends KeyAdapter {
private QuanXian adaptee;
QuanXian_jTable1_keyAdapter(QuanXian adaptee) {
this.adaptee = adaptee;
}
public void keyPressed(KeyEvent e) {
adaptee.jTable1_keyPressed(e);
}
}
class QuanXian_jTable1_mouseAdapter extends MouseAdapter {
private QuanXian adaptee;
QuanXian_jTable1_mouseAdapter(QuanXian adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jTable1_mouseClicked(e);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -