📄 administrator.java
字号:
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 + -