package StuAdmin;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.SQLException;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
public class TeaBoard implements ActionListener {
JFrame Teadlg;
JButton button, exit, relogin, score, select;
JPanel panel1, panel2, panel3;
JPanel pane;
JTable table1, table2, table3, table4;
CardLayout card;
String teacherid, teachername;
TeaBoard(String tno) throws SQLException {
teacherid = tno;
Teadlg = new JFrame("教师窗口");
Teadlg.setLayout(null);
Teadlg.setBackground(Color.WHITE);
relogin = new JButton("重新登录");
relogin.setFocusPainted(false);
relogin.addActionListener(this);
relogin.setBounds(760, 50, 100, 30);
relogin.setBackground(Color.WHITE);
relogin.setForeground(new Color(0, 0, 50));
exit = new JButton("退出系统");
exit.setFocusPainted(false);
exit.addActionListener(this);
exit.setBounds(870, 50, 100, 30);
exit.setBackground(Color.WHITE);
exit.setForeground(new Color(0, 0, 50));
Teadlg.add(relogin);
Teadlg.add(exit);
JPanel top = new JPanel();
JLabel title = new JLabel("教务管理系统");
Font titlefont = new Font("黑体", Font.PLAIN, 50);
title.setFont(titlefont);
title.setForeground(Color.WHITE);
top.add(title, BorderLayout.EAST);
top.setBounds(0, 0, 984, 100);
top.setBackground(new Color(0, 0, 50));
top.setBorder(BorderFactory.createLineBorder(Color.BLACK));
JPanel buttons = new JPanel(new GridLayout(1, 3));
buttons.setBounds(0, 95, 984, 40);
button = new JButton("个人信息");
button.setBackground(Color.WHITE);
button.setFont(new Font("黑体", Font.PLAIN, 18));
button.setBorder(BorderFactory.createLineBorder(Color.BLACK));
button.addActionListener(this);
buttons.add(button);
button = new JButton("成绩管理");
button.setBackground(Color.WHITE);
button.setFont(new Font("黑体", Font.PLAIN, 18));
button.setBorder(BorderFactory.createLineBorder(Color.BLACK));
button.addActionListener(this);
buttons.add(button);
button = new JButton("教授课程");
button.setBackground(Color.WHITE);
button.setFont(new Font("黑体", Font.PLAIN, 18));
button.setBorder(BorderFactory.createLineBorder(Color.BLACK));
button.addActionListener(this);
buttons.add(button);
Teadlg.add(buttons);
card = new CardLayout(3, 3);
pane = new JPanel(card); // JPanel的布局管理将被设置成CardLayout
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
panel1.setBackground(new Color(0, 0, 50));
panel2.setBackground(new Color(0, 0, 50));
panel3.setBackground(new Color(0, 0, 50));
panel1();
panel2();
panel3();
pane.add(panel1, "p1");
pane.add(panel2, "p2");
pane.add(panel3, "p3");
pane.setBounds(0, 135, 985, 425);
Teadlg.add(pane);
Teadlg.add(top);
Teadlg.setBounds(200, 80, 990, 600);
Teadlg.setVisible(true);
Teadlg.setResizable(false);
}
public void panel1() throws SQLException {
SQL idsql = new SQL();
String text = "SELECT teacherid,teachername,teachersex,departmentname,teacherphone FROM teacher,department WHERE teacherid = '"
+ teacherid
+ "' AND teacher.teacherdepart=department.departmentid";
idsql.select(text);
Object[] columnNames = { " ", " " };
Object[][] rowData = {
{ "职工号", idsql.resultSet.getString("teacherid") },
{ "姓名", idsql.resultSet.getString("teachername") },
{ "性别", idsql.resultSet.getString("teachersex") },
{ "所属学院", idsql.resultSet.getString("departmentname") },
{ "联系方式", idsql.resultSet.getString("teacherphone") } };
DefaultTableModel model = new DefaultTableModel(rowData, columnNames) {
private static final long serialVersionUID = 1L;
public boolean isCellEditable(int row, int column) {
return false;
}
};
table1 = new JTable(model);
table1.setSelectionBackground(new Color(0, 0, 50));
table1.setSelectionForeground(Color.white);
table1.getTableHeader().setReorderingAllowed(false);
table1.setPreferredScrollableViewportSize(new Dimension(965, 385));// 设置表格的大小
table1.setRowHeight(30);// 设置每行的高度为20
JScrollPane tpane = new JScrollPane(table1);
tpane.setBounds(5, 5, 965, 385);
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();// 设置table内容居中
tcr.setHorizontalAlignment(SwingConstants.CENTER);// 这句和上句作用一样
table1.setDefaultRenderer(Object.class, tcr);
panel1.add(tpane);
}
public void panel2() throws SQLException {
panel2.setLayout(null);
JTextField search = new JTextField();
search.setBounds(5, 5, 860, 30);
JButton submit = new JButton("快速查找");
submit.setBounds(870, 5, 100, 30);
submit.setBackground(Color.WHITE);
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();// 设置table内容居中
tcr.setHorizontalAlignment(SwingConstants.CENTER);// 这句和上句作用一样
SQL teasql = new SQL();
String text = "SELECT teachername FROM teacher WHERE teacherid='"
+ teacherid + "';";
teachername = teasql.getcell(text);
text = "SELECT * FROM stu_stc WHERE 任课教师='" + teachername + "';";
table2 = new JTable(teasql.getTable(text));
// table2 = teasql.getTable(test);
table2.setSelectionBackground(new Color(0, 0, 50));
table2.getTableHeader().setReorderingAllowed(false);
table2.setSelectionForeground(Color.white);
table2.setDefaultRenderer(Object.class, tcr);
teasql.shutDown();
table2.setPreferredScrollableViewportSize(new Dimension(980, 350));// 设置表格的大小
table2.setRowHeight(30);// 设置每行的高度为20
table2.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
score.setForeground(new Color(0, 0, 50));
score.setBackground(Color.WHITE);
score.setOpaque(true); // 设置背景透明
score.setBorder(BorderFactory.createLineBorder(Color.GRAY));
score.setEnabled(true);
}
});
JScrollPane tpane = new JScrollPane(table2);
tpane.setBounds(5, 40, 970, 370);
score = new JButton("登记成绩");
score.addActionListener(this);
score.setBounds(860, 370, 100, 30);
score.setForeground(Color.GRAY);
score.setBackground(Color.WHITE);
score.setOpaque(false); // 设置背景透明
score.setBorder(BorderFactory.createLineBorder(Color.GRAY));
score.setEnabled(false);
panel2.add(score);
panel2.add(search);
panel2.add(submit);
panel2.add(tpane);
}
public void panel3() throws SQLException {
panel3.setLayout(null);
JTextField search = new JTextField();
search.setBounds(5, 5, 860, 30);
JButton submit = new JButton("快速查找");
submit.setBounds(870, 5, 100, 30);
submit.setBackground(Color.WHITE);
SQL teasql = new SQL();
String text = "SELECT teachername FROM teacher WHERE teacherid='"
+ teacherid + "';";
teachername = teasql.getcell(text);
text = "SELECT * FROM stu_tc WHERE 任课教师='" + teachername + "'";
table3 = new JTable(teasql.getTable(text));
table3.setSelectionBackground(new Color(0, 0, 50));
table3.setSelectionForeground(Color.white);
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();// 设置table内容居中
tcr.setHorizontalAlignment(SwingConstants.CENTER);// 这句和上句作用一样
table3.setDefaultRenderer(Object.class, tcr);
table3.getTableHeader().setReorderingAllowed(false);
table3.setPreferredScrollableViewportSize(new Dimension(980, 200));// 设置表格的大小
table3.setRowHeight(30);// 设置每行的高度为20
JScrollPane tpane = new JScrollPane(table3);
tpane.setBounds(5, 40, 965, 200);
select = new JButton("添加课程");
select.addActionListener(this);
select.setBounds(870, 250, 100, 30);
select.setForeground(Color.GRAY);
select.setBackground(Color.WHITE);
select.setOpaque(false); // 设置背景透明
select.setBorder(BorderFactory.createLineBorder(Color.GRAY));
select.setEnabled(false);
panel3.add(select);
// SQL stusql4 = new SQL();
text = "SELECT * FROM course";
// table2 = stusql2.getTable(test2);
table4 = new JTable(teasql.getTable(text));
// table2.setModel(stusql2.getTable(text2));
DefaultTableCellRenderer tcr2 = new DefaultTableCellRenderer();// 设置table内容居中
tcr2.setHorizontalAlignment(SwingConstants.CENTER);
table4.setDefaultRenderer(Object.class, tcr2);
table4.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
select.setForeground(new Color(0, 0, 50));
select.setBackground(Color.WHITE);
select.setOpaque(true); // 设置背景透明
select.setBorder(BorderFactory.createLineBorder(Color.GRAY));
select.setEnabled(true);
}
});
teasql.shutDown();
table4.setPreferredScrollableViewportSize(new Dimension(980, 120));// 设置表格的大小
table4.setRowHeight(25);// 设置每行的高度为20
JScrollPane tpane2 = new JScrollPane(table4);
tpane2.setBounds(5, 290, 965, 120);
panel3.add(submit);
panel3.add(search);
panel3.add(tpane);
panel3.add(tpane2);
}
public void selecttc(String cno) throws SQLException {
SQL selectcourse = new SQL();
String query = "INSERT INTO tc VALUES ('" + teacherid + "', '" + cno
+ "');";
if (selectcourse.othersql(query) > 0) {
SQL sql4 = new SQL();
JOptionPane.showMessageDialog(null, "添加成功");
table3.setModel(sql4.getTable("SELECT * FROM stu_tc WHERE teacherid='"
+ teacherid + "';"));
table4.setModel(sql4
.getTable("SELECT * FROM course"));
} else
JOptionPane.showMessageDialog(null, "添加失败");
selectcourse.shutDown();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String cmd = e.getActionCommand();
if (cmd.equals("个人信息")) {
card.show(pane, "p1");
} else if (cmd.equals("成绩管理")) {
card.show(pane, "p2");
} else if (cmd.equals("教授课程")) {
card.show(pane, "p3");
}
if (cmd.equals("添加课程")) {
int row = table4.getSelectedColumn();
if (row != -1) {
String courseid = table4.getValueAt(table4.getSelectedRow(), 0)
.toString();
try {
selecttc(courseid);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
if (cmd.equals("登记成绩")) {
int row = table2.getSelectedColumn();
if (row != -1) {
String studentid = table2
.getValueAt(table2.getSelectedRow(), 0).toString();
String studentname = table2.getValueAt(table2.getSelectedRow(),
1).toString();
String courseid = table2.getValueAt(table2.getSelectedRow(), 2)
.toString();
String coursename = table2.getValueAt(table2.getSelectedRow(),
3).toString();
Operates operate = new Operates(Teadlg, courseid, coursename,
studentid, studentname);
if (operate.Confirm == 1) {
SQL newsql = new SQL();
table2.setModel(newsql
.getTable("SELECT * FROM stu_stc WHERE 任课教师='"
+ teachername + "';"));
}
}
}
if (cmd.equals("退出系统")) {
Teadlg.dispose();
} else if (cmd.equals("重新登录")) {
Teadlg.dispose();
new StuAdmin();
}
}
}
小试牛刀-教务信息管理系统(TeaBoard)
最新推荐文章于 2021-02-03 17:45:30 发布