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

📄 administrator.java

📁 自己用java编的选课系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package xuankexitong;
import java.awt.*;

import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.sql.*;
import java.lang.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
import java.net.*;
import javax.swing.table.*;
public class Administrator extends JFrame implements ActionListener{
	String adname;
	String[] cha={"student","teacher","course"};
	Connection con;
	Statement stmt;
	ResultSet res=null;
	DefaultTableModel[] m=new DefaultTableModel[3];
	Object[][][] o=new Object[3][][];
	int[] index=new int[3];
	int[] count=new int[3];
	JTabbedPane card=new JTabbedPane();
	JComboBox[] box=new JComboBox[2];
	String[] order=new String[3];
	String[] xuexin={"学号","姓名","性别","年龄","系别"};
	String[] jiaoshixin={"教师号","姓名","性别","年龄","系别"};
	String[] kechengxin={"课程号","课程名","先行课","学分"};
    String[] s1={"学号","姓名","系别"};
    String[] s3={"课程号","课程名","学分"};
    String[] chaxun={"学号","教师号","课程号"};
    Vector[] vv=new Vector[3];
	JTextField[][] xinxi=new JTextField[3][5];
	JTextField[] query=new JTextField[3];
	JButton[] queryButton=new JButton[3];
	JTable t1,t2,t3;
	JButton[][] Button=new JButton[3][5];
	   public Administrator(String username){
		adname=username;
		order[0]="学号";
		order[1]="课程号";
		order[2]="教师号";
		for(int i=0;i<3;i++)
			vv[i]=new Vector();
		for(int i=0;i<3;i++){
			query[i]=new JTextField(15);
			query[i].setText("");
		}
		addConnection();
		Vector v1=new Vector(),v2=new Vector(),v3=new Vector();
		//int count1,count2,count3;
		try{
		res=stmt.executeQuery("select * from student");
		while(res.next()){
			Vector v=new Vector();
			for(int i=0;i<5;i++){
				v.add(res.getString(xuexin[i]));
			}
			v1.add(v);
		}
		index[0]=0;
		count[0]=v1.size();
		res=stmt.executeQuery("select * from teacher");
		while(res.next()){
			Vector v=new Vector();
			for(int i=0;i<5;i++){
				v.add(res.getString(jiaoshixin[i]));
			}
			v2.add(v);
		}
		index[1]=0;
		count[1]=v2.size();
		res=stmt.executeQuery("select * from course");
		while(res.next()){
			Vector v=new Vector();
			for(int i=0;i<4;i++){
				v.add(res.getString(kechengxin[i]));
			}
			v3.add(v);
		}
		index[2]=0;
		count[2]=v3.size();
		}catch(SQLException se){
			  se.printStackTrace(System.out);
		 }
		
		count[0]=v1.size();
		count[1]=v2.size();
		count[2]=v3.size();
		 o[0]=new Object[count[0]][5];
		 o[1]=new Object[count[1]][5];
		 o[2]=new Object[count[2]][4];
		for(int i=0;i<count[0];i++){
			Vector row=(Vector)v1.elementAt(i);
			for(int j=0;j<5;j++){
				o[0][i][j]=row.elementAt(j);
			}
		}
		for(int i=0;i<count[1];i++){
			Vector row=(Vector)v2.elementAt(i);
			for(int j=0;j<5;j++){
				o[1][i][j]=row.elementAt(j);
			}
		}
		for(int i=0;i<count[2];i++){
			Vector row=(Vector)v3.elementAt(i);
			for(int j=0;j<4;j++){
				o[2][i][j]=row.elementAt(j);
			}
		}
		
		m[0]=new DefaultTableModel(o[0],xuexin){
			public boolean isCellEditable(int row, int column) {
			    return false;
			  }
		};
		m[1]=new DefaultTableModel(o[1],jiaoshixin){
			public boolean isCellEditable(int row, int column) {
			    return false;
			  }
		};
		m[2]=new DefaultTableModel(o[2],kechengxin){
			public boolean isCellEditable(int row, int column) {
			    return false;
			  }
		};
		Container content=getContentPane();
		  content.setLayout(new BorderLayout());
		  addWindowListener(new WindowAdapter(){
			  public void windowClosing(WindowEvent e){
				  dispose();
			  }
		  });
		JPanel stu=new JPanel();
		stu.setLayout(new GridLayout(2,1));
		JPanel p1=new JPanel(),p2=new JPanel();
		p1.setBorder(new TitledBorder("查询显示"));
		p2.setBorder(new TitledBorder("操作显示"));
		p1.setLayout(new BorderLayout());
		p2.setLayout(new BorderLayout());
		JPanel teacher=new JPanel();
		teacher.setLayout(new GridLayout(2,1));
		JPanel course=new JPanel();
		course.setLayout(new GridLayout(2,1));
		card.add(stu,"学生管理");
		card.add(teacher,"教师管理");
		card.add(course,"课程管理");
		JPanel[] panelQuery=new JPanel[3],
		panelTable=new JPanel[3],
		panelButtonGroup1=new JPanel[3],
		panelButtonGroup2=new JPanel[3],
		panelLabel=new JPanel[3];
		for(int i=0;i<5;i++){
			xinxi[0][i]=new JTextField(20);
			xinxi[0][i].setText((o[0][index[0]][i].toString()));
			xinxi[1][i]=new JTextField(20);
			xinxi[1][i].setText((o[1][index[1]][i].toString()));
			xinxi[2][i]=new JTextField(20);
			if(i<4)
			xinxi[2][i].setText((o[2][index[2]][i].toString()));
		}
		String[] ls={"前一条","下一条","添加","删除","修改"};
		for(int i=0;i<5;i++){
			Button[0][i]=new JButton(ls[i]);
			Button[0][i].addActionListener(this);
		}
		
		for(int i=0;i<5;i++){
			Button[1][i]=new JButton(ls[i]);
			Button[1][i].addActionListener(this);
		}
		for(int i=0;i<5;i++){
			Button[2][i]=new JButton(ls[i]);
			Button[2][i].addActionListener(this);
		}
		for(int i=0;i<3;i++){
			queryButton[i]=new JButton("查询");
			queryButton[i].addActionListener(this);
			panelQuery[i]=new JPanel();
			panelTable[i]=new JPanel();
			panelButtonGroup1[i]=new JPanel();
			panelButtonGroup2[i]=new JPanel();
			panelLabel[i]=new JPanel();
			panelLabel[i].setLayout(new GridLayout(5,1));
		}
		//构造学生管理面板
		box[0]=new JComboBox(s1);
		box[0].addActionListener(new ActionListener(){
			   public void actionPerformed(ActionEvent e){
				   JComboBox source=(JComboBox)e.getSource();
				   order[0]=(String)source.getSelectedItem();
			   }
		   });
		panelQuery[0].add(box[0]);
		panelQuery[0].add(query[0]);
		panelQuery[0].add(queryButton[0]);
		t1=new JTable(m[0]);
		JScrollPane scrollpane1 = 
		      JTable.createScrollPaneForTable(t1);
		t2=new JTable(m[1]);
		JScrollPane scrollpane2 = 
		      JTable.createScrollPaneForTable(t2);
		t3=new JTable(m[2]);
		JScrollPane scrollpane3 = 
		      JTable.createScrollPaneForTable(t3);
		panelTable[0].add(scrollpane1);
		JLabel[] jl1=new JLabel[5];
		jl1[0]=new JLabel("学号");
		jl1[1]=new JLabel("姓名");
		jl1[2]=new JLabel("性别");
		jl1[3]=new JLabel("年龄");
		jl1[4]=new JLabel("系别");
		JPanel[] xianshi=new JPanel[5];
		for(int i=0;i<5;i++){
		xianshi[i]=new JPanel();
		xianshi[i].add(jl1[i]);
		xianshi[i].add(xinxi[0][i]);
		panelLabel[0].add(xianshi[i]);
		}
		for(int i=0;i<2;i++){
			panelButtonGroup1[0].add(Button[0][i]);
			panelButtonGroup1[1].add(Button[1][i]);
			panelButtonGroup1[2].add(Button[2][i]);
		}
		for(int i=2;i<5;i++){
			panelButtonGroup2[0].add(Button[0][i]);
			panelButtonGroup2[1].add(Button[1][i]);
			panelButtonGroup2[2].add(Button[2][i]);
		}
		p1.add(panelQuery[0],BorderLayout.NORTH);
		p1.add(scrollpane1,BorderLayout.CENTER);
		p2.add(panelButtonGroup1[0],BorderLayout.NORTH);
		p2.add(panelLabel[0],BorderLayout.CENTER);
		p2.add(panelButtonGroup2[0],BorderLayout.SOUTH);
		stu.add(p1,BorderLayout.NORTH);
		stu.add(p2,BorderLayout.CENTER);
		
		//构造教师管理面板
		JLabel ll=new JLabel("教师编号");
		panelQuery[1].add(ll);
		panelQuery[1].add(query[1]);
		panelQuery[1].add(queryButton[1]);
		JPanel pp1=new JPanel(),pp2=new JPanel();
		pp1.setBorder(new TitledBorder("查询显示"));
		pp2.setBorder(new TitledBorder("操作显示"));
		pp1.setLayout(new BorderLayout());
		pp2.setLayout(new BorderLayout());
		JLabel[] jl2=new JLabel[5];
		jl2[0]=new JLabel("教师号");
		jl2[1]=new JLabel("  姓名  ");
		jl2[2]=new JLabel("  性别  ");
		jl2[3]=new JLabel("  年龄  ");
		jl2[4]=new JLabel("  系别  ");
		JPanel[] xianshi2=new JPanel[5];
		for(int i=0;i<5;i++){
		xianshi2[i]=new JPanel();
		xianshi2[i].add(jl2[i]);
		xianshi2[i].add(xinxi[1][i]);
		panelLabel[1].add(xianshi2[i]);
		}
		pp1.add(panelQuery[1],BorderLayout.NORTH);
		pp1.add(scrollpane2,BorderLayout.CENTER);
		pp2.add(panelButtonGroup1[1],BorderLayout.NORTH);
		pp2.add(panelLabel[1],BorderLayout.CENTER);
		pp2.add(panelButtonGroup2[1],BorderLayout.SOUTH);
		teacher.add(pp1,BorderLayout.NORTH);
		teacher.add(pp2,BorderLayout.CENTER);
		
		//课程管理面板
		box[1]=new JComboBox(s3);
		box[1].addActionListener(new ActionListener(){
			   public void actionPerformed(ActionEvent e){
				   JComboBox source=(JComboBox)e.getSource();
				   order[1]=(String)source.getSelectedItem();
			   }
		   });
		panelQuery[2].add(box[1]);
		panelQuery[2].add(query[2]);
		panelQuery[2].add(queryButton[2]);
		JPanel ppp1=new JPanel(),ppp2=new JPanel();
		ppp1.setBorder(new TitledBorder("查询显示"));
		ppp2.setBorder(new TitledBorder("操作显示"));
		ppp1.setLayout(new BorderLayout());
		ppp2.setLayout(new BorderLayout());
		JLabel[] jl3=new JLabel[5];
		jl3[0]=new JLabel("课程号");
		jl3[1]=new JLabel("课程名");
		jl3[2]=new JLabel("先行课");
		jl3[3]=new JLabel("  学分  ");
		jl3[4]=new JLabel("  ");
		JPanel[] xianshi3=new JPanel[4];
		for(int i=0;i<4;i++){
		xianshi3[i]=new JPanel();
		xianshi3[i].add(jl3[i]);
		xianshi3[i].add(xinxi[2][i]);
		panelLabel[2].add(xianshi3[i]);
		}
		ppp1.add(panelQuery[2],BorderLayout.NORTH);
		ppp1.add(scrollpane3,BorderLayout.CENTER);
		ppp2.add(panelButtonGroup1[2],BorderLayout.NORTH);
		ppp2.add(panelLabel[2],BorderLayout.CENTER);
		ppp2.add(panelButtonGroup2[2],BorderLayout.SOUTH);
		course.add(ppp1,BorderLayout.NORTH);
		course.add(ppp2,BorderLayout.CENTER);
		
		
		content.add(card,BorderLayout.CENTER);
		Toolkit   tk=getToolkit();   
		  Dimension   screenSize=tk.getScreenSize();  
		  int   frameWidth=700;   
		  int   frameHeight=500;   
		  setBounds((screenSize.width-frameWidth)/2,(screenSize.height-frameHeight)/2,frameWidth,frameHeight);   
	  setVisible(true);
	}
	
	public void addConnection(){
		 try{
			  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			 }
			 catch(ClassNotFoundException g){
				 JOptionPane.showMessageDialog(null,"驱动器加载失败,无法建立数据库连接");
			  return;
			 }
			 try{
				   con=DriverManager.getConnection("jdbc:odbc:stu","","");
			 stmt=con.createStatement();
				 }
			 catch(SQLException se){
			  se.printStackTrace(System.out);
			 }
	}
	public void actionPerformed(ActionEvent e){
		JButton sourse=(JButton)e.getSource();

⌨️ 快捷键说明

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