?? mainframe.java
字號:
package xxglxt;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.*;
import java.util.Vector;
import javax.swing.table.TableCellEditor;
import javax.swing.table.JTableHeader;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseMotionAdapter;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyVetoException;
import java.beans.VetoableChangeListener;
import javax.swing.event.*;
import javax.swing.tree.DefaultMutableTreeNode;
/**
* <p>Title: 程序功能主窗體</p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class MainFrame extends JFrame {
int qx;//權限
public MainFrame(int qx) {
this.qx=qx;//得到權限
try {
setResizable(false); //不能改變窗體大小
setDefaultCloseOperation(EXIT_ON_CLOSE); //關閉按鍵
jbInit(); //調用登陸主界面
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "程序被修改,已存在嚴重問題。"); //程序出現問題
System.exit( -1); //程序非正常退出
}
try {
this.setTitle("北大青鳥學生管理系統");
this.setSize(640, 480);//設置窗體大小
this.setVisible(true);//使窗體可見
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() {
for(int i=0;i<=100;i++){//0到100的成績選項
jComboBox2.addItem(i);
jComboBox3.addItem(i);
}
getContentPane().setLayout(null);
this.setJMenuBar(jMenuBar1);//加菜單
jMenu1.setText("用戶");
jMenuItem1.setText("更改用戶");
jMenuItem1.addActionListener(new MainFrame_jMenuItem1_actionAdapter(this));//更改觸發事件
jMenuItem2.setText("退出");
jMenuItem2.addActionListener(new MainFrame_jMenuItem2_actionAdapter(this));//退出事件
jMenu6.setText("幫助");
jTabbedPane1.setBounds(new Rectangle(13, 49, 588, 316));
jPanel5.setLayout(null);
jTree1.setAutoscrolls(true);
jTree1.addVetoableChangeListener(new
MainFrame_jTree1_vetoableChangeAdapter(this));
jTree1.addTreeSelectionListener(new
MainFrame_jTree1_treeSelectionAdapter(this));
jScrollPane1.setBounds(new Rectangle(10, 44, 143, 236));
jMenuItem3.setText("幫助主題");
jMenuItem3.addActionListener(new MainFrame_jMenuItem3_actionAdapter(this));
jMenuItem4.setText("關於程序");
jMenuItem4.addActionListener(new MainFrame_jMenuItem4_actionAdapter(this));
jComboBox1.setBounds(new Rectangle(236, 17, 70, 21));
jComboBox1.addActionListener(new MainFrame_jComboBox1_actionAdapter(this));
jLabel1.setText("課程名:");
jLabel1.setBounds(new Rectangle(171, 18, 59, 20));
jLabel2.setText("成績下限");
jLabel2.setBounds(new Rectangle(168, 51, 62, 17));
jComboBox2.setBounds(new Rectangle(236, 50, 69, 22));
jComboBox2.addActionListener(new MainFrame_jComboBox2_actionAdapter(this));
jLabel3.setText("成績上限");
jLabel3.setBounds(new Rectangle(171, 83, 59, 17));
jComboBox3.setBounds(new Rectangle(236, 81, 69, 22));
jButton1.setBounds(new Rectangle(210, 115, 64, 21));
jButton1.setText("查找");
jButton1.addActionListener(new MainFrame_jButton1_actionAdapter(this));
jLabel4.setBorder(titledBorder1);
jLabel4.setBounds(new Rectangle(159, 10, 163, 141));
jButton2.setBounds(new Rectangle(355, 17, 94, 24));
jButton2.setText("班級信息");
jButton2.addActionListener(new MainFrame_jButton2_actionAdapter(this));
jButton3.setBounds(new Rectangle(355, 49, 93, 25));
jButton3.setText("學生信息");
jButton3.addActionListener(new MainFrame_jButton3_actionAdapter(this));
jButton4.setBounds(new Rectangle(456, 18, 93, 24));
jButton4.setText("課程信息");
jButton4.addActionListener(new MainFrame_jButton4_actionAdapter(this));
jScrollPane2.setBounds(new Rectangle(159, 169, 389, 110));
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu6);
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
this.getContentPane().add(jTabbedPane1);
ClassFrame cf = new ClassFrame();
jPanel1 = cf.jbInit();
if(qx==3){//當權限為管理員
jTabbedPane1.add(jPanel1, "班級管理");
jTabbedPane1.add(new StuFrame(), "學生管理");
jTabbedPane1.add(new KcFrame(), "課程管理");
jTabbedPane1.add(new cjframe(), "成績管理");
jTabbedPane1.add(jPanel5, "信息查詢");
jTabbedPane1.add(new QuanXian(), "用戶管理");
}else if(qx==2){//當權限為任課老師
jTabbedPane1.add(new KcFrame(), "課程管理");
jTabbedPane1.add(new cjframe(), "成績管理");
jTabbedPane1.add(jPanel5, "信息查詢");
}else{//當權限為班主任
jTabbedPane1.add(jPanel1, "班級管理");
jTabbedPane1.add(new StuFrame(), "學生管理");
jTabbedPane1.add(jPanel5, "信息查詢");
}
jPanel5.add(jScrollPane1);
jPanel5.add(jComboBox3);
jPanel5.add(jLabel1);
jPanel5.add(jComboBox1);
jPanel5.add(jLabel2);
jPanel5.add(jComboBox2);
jPanel5.add(jLabel3);
jPanel5.add(jButton1);
jPanel5.add(jLabel4);
jPanel5.add(jButton2);
jPanel5.add(jButton3);
jPanel5.add(jScrollPane2);
jPanel5.add(jButton4);
SelectFrame selectdata = new SelectFrame();
jTree1 = selectdata.jtree(); //加載樹中的元素
jScrollPane1.getViewport().add(jTree1);
jTree1.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node=(DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent();
Object nodeInfo=node.getUserObject();
int inttemp=0;
if(node.isRoot()){//現在為學校
inttemp=1;
}else if(node.isLeaf()){//現在為班級
inttemp=3;
}else{//現在為年級
inttemp=2;
}
Object[][] strInfo_cell;
String[] strColnames;
String sqltree="";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驅動加載
} catch (ClassNotFoundException ex) {
}
Connection contree=null;
PreparedStatement pstmtree=null;
ResultSet rstree=null;
try {
contree = DriverManager.getConnection("jdbc:odbc:glxt"); //數據橋連名子為ODBC名為glxt
if (inttemp == 1) {
sqltree = "select class_name as '班級名',class_bzr as '班主任',class_rkls as '任課老師',grade_name as '年級' from classtable ,gradetable where classtable.grade_id=gradetable.grade_id";
pstmtree = contree.prepareStatement(sqltree);
} else if (inttemp == 2) {
sqltree = "select class_name as '班級名',class_bzr as '班主任',class_rkls as '任課老師',grade_name as '年級' from classtable ,gradetable where classtable.grade_id=gradetable.grade_id and grade_name=?";
pstmtree = contree.prepareStatement(sqltree);
pstmtree.setString(1,String.valueOf(nodeInfo));
} else if (inttemp == 3) {
sqltree = "select class_name as '班級名',class_bzr as '班主任',class_rkls as '任課老師',grade_name as '年級' from classtable ,gradetable where classtable.grade_id=gradetable.grade_id and class_name=?";
pstmtree = contree.prepareStatement(sqltree);
pstmtree.setString(1,String.valueOf(nodeInfo));
}
rstree = pstmtree.executeQuery();
ResultSetMetaData rsmdtree = rstree.getMetaData();
Vector temp = new Vector();
while(rstree.next()){
//
for(int i = 0; i < rsmdtree.getColumnCount(); i++ ){
temp.addElement(rstree.getString(i+1));
}
}
strInfo_cell = new String[temp.size()/rsmdtree.getColumnCount()][rsmdtree.getColumnCount()];
strColnames = new String[rsmdtree.getColumnCount()];
for (int i = 0; i < rsmdtree.getColumnCount(); i++) {
strColnames[i] = new String(rsmdtree.getColumnLabel(i+1));
}
for(int i = 0; i < temp.size()/rsmdtree.getColumnCount(); i++){
for(int j = 0; j < rsmdtree.getColumnCount(); j++){
strInfo_cell[i][j] = temp.elementAt(i*rsmdtree.getColumnCount()+j);
}
}
if(jTable1 != null){
jTable1 = null;
}
jTable1 = new JTable(strInfo_cell,strColnames);
jScrollPane2.getViewport().add(jTable1);
} catch (SQLException ex1) {
ex1.printStackTrace();
}finally{
try {
rstree.close();
pstmtree.close();
contree.close();
} catch (SQLException ex2) {
}
}
}
});
jMenu6.add(jMenuItem3);
jMenu6.add(jMenuItem4);
jScrollPane2.getViewport().add(jTable1);
csh();
}
private void csh(){
String sql="select kc_name from kctable";
new sun.jdbc.odbc.JdbcOdbcDriver();
try {
Connection con = DriverManager.getConnection("jdbc:odbc:glxt");
PreparedStatement pre=con.prepareStatement(sql);
ResultSet result=pre.executeQuery();
while(result.next()){
jComboBox1.addItem(result.getString(1));
}
} catch (SQLException ex) {
}
}
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();
JMenu jMenu6 = new JMenu();
JTabbedPane jTabbedPane1 = new JTabbedPane();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
JPanel jPanel4 = new JPanel();
JPanel jPanel5 = new JPanel();
JTree jTree1 = new JTree();
static JScrollPane jScrollPane1 = new JScrollPane();
JMenuItem jMenuItem3 = new JMenuItem();
JMenuItem jMenuItem4 = new JMenuItem();
JComboBox jComboBox1 = new JComboBox();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JComboBox jComboBox2 = new JComboBox();
JLabel jLabel3 = new JLabel();
JComboBox jComboBox3 = new JComboBox();
JButton jButton1 = new JButton();
JLabel jLabel4 = new JLabel();
TitledBorder titledBorder1 = new TitledBorder("");
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JScrollPane jScrollPane2 = new JScrollPane();
JTable jTable1 = new JTable();
public void jMenuItem3_actionPerformed(ActionEvent e) {
new HelpJDialog(this);
this.setEnabled(false);
}
public void jMenuItem4_actionPerformed(ActionEvent e) {
new AboutJDialog(this);
this.setEnabled(false);
}
public void jMenuItem2_actionPerformed(ActionEvent e) {
System.exit(0);
}
public void jMenuItem1_actionPerformed(ActionEvent e) {
this.dispose();
new Frame1();
}
public void jComboBox1_actionPerformed(ActionEvent e) {
}
public void jComboBox2_actionPerformed(ActionEvent e) {
}
public void jButton2_actionPerformed(ActionEvent e) {
initJButton2();
}
Object[][] strInfo_cell;
String[] strColnames;
public void initJButton2(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //驅動加載
} catch (ClassNotFoundException ex) {
}
String sql = "select Grade_name as 年級,class_name as 班級,class_bzr as 班主任,class_rkls as 任課老師,class_massage as 班級信息 from classtable,gradetable where gradetable.Grade_id=classtable.Grade_id";
try {
Connection con = DriverManager.getConnection("jdbc:odbc:glxt"); //數據橋連名子為ODBC名為glxt
PreparedStatement pstm = con.prepareStatement(sql);
// pstm.setInt(1,);where grade_id=
ResultSet rs = pstm.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
// System.out.println("rsmd-->" + rsmd.getColumnCount());
Vector temp = new Vector();
while(rs.next()){
// System.out.println("hhhhhhhh");
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()];
// System.out.println("rsmd.getColumnCount()-->"+rsmd.getColumnCount());
for (int i = 0; i < rsmd.getColumnCount(); i++) {
strColnames[i] = new String(rsmd.getColumnLabel(i+1));
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -