📄 exammanage.java
字号:
package com.exam.ui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.JTree;
import javax.swing.SwingConstants;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumnModel;
//import javax.swing.table.TableRowSorter;
import javax.swing.tree.DefaultMutableTreeNode;
import com.exam.db.bean.BanJi;
import com.exam.db.bean.Schedule;
import com.exam.db.bean.Student;
import com.exam.db.bean.Teacher;
import com.exam.db.dao.BanJiDao;
import com.exam.db.dao.CourseDao;
import com.exam.db.dao.ScheduleDao;
import com.exam.db.dao.StudentDao;
import com.exam.db.dao.TeacherDao;
import com.exam.ui.banzhuren.AddBanJiSchedule;
import com.exam.ui.banzhuren.AddCourse;
import com.exam.ui.banzhuren.AddStudent;
import com.exam.ui.banzhuren.ChangeStudents;
import com.exam.ui.game.Bomb;
import com.exam.ui.manage.AddTeacher;
import com.exam.ui.manage.ChangeTeacher;
import com.exam.ui.student.ShowAllStudent;
import com.exam.ui.student.ShowStudentScore;
import com.exam.ui.teacher.AddQuestion;
import com.exam.ui.teacher.SelectPaper;
import com.exam.ui.teacher.SelectQuestion;
import com.exam.ui.teacher.SelectScore;
import com.exam.ui.teacher.ShowAllTeacher;
public class ExamManage extends SuperFrame {
private static final long serialVersionUID = 1L;
private String teaID;
private String stuID;
private JTextField txtBanJiID;
private JTextField txtTeaName;
private JTextField txtBanJiDate;
private JTextField txtTotal;
private JTable tblStudent;
private int currentPage = 1;
private int totalPage = 1;
private JLabel lblPage;
private List<Student> list;
private JButton btnFirstPage;
private JButton btnPreviousPage;
private JButton btnNextPage;
private JButton btnLastPage;
private JTable tblSchedule;
private DefaultMutableTreeNode S1;
private DefaultMutableTreeNode S2;
private DefaultMutableTreeNode Y2;
private JTree treInfo;
private int teaSort;
public ExamManage(String teaID,int teaSort) {
try {
this.teaID = teaID;
this.teaSort = teaSort;
init();
this.setVisible(true);
this.setResizable(false);
} catch (Exception e) {
e.printStackTrace();
}
}
@SuppressWarnings("unchecked")
private void init() {
this.setTitle("考试系统--数据管理");
this.setSize(800, 600);
this.setCenter();
JMenuBar mnuBar = new JMenuBar();
this.setJMenuBar(mnuBar);
JMenu mnuFile = new JMenu("文件");
JMenu mnuUpdate = new JMenu("修改");
JMenu mnuSelect = new JMenu("查询");
JMenu mnuGame = new JMenu("开心一刻");
JMenu mnuHelp = new JMenu("帮助");
mnuBar.add(mnuFile);
mnuBar.add(mnuUpdate);
mnuBar.add(mnuSelect);
mnuBar.add(mnuGame);
mnuBar.add(mnuHelp);
JMenuItem mnuAddTeacher = new JMenuItem("添加教师");
JMenuItem mnuAddCourse = new JMenuItem("添加科目");
JMenuItem mnuAddBanJi = new JMenuItem("添加班级");
JMenuItem mnuAddStudent = new JMenuItem("添加学生");
JMenuItem mnuAddQuestion = new JMenuItem("添加试题");
JMenuItem mnuExit = new JMenuItem("退出");
mnuFile.add(mnuAddCourse);
mnuFile.add(mnuAddTeacher);
mnuFile.addSeparator();
mnuFile.add(mnuAddBanJi);
mnuFile.add(mnuAddStudent);
mnuFile.addSeparator();
mnuFile.add(mnuAddQuestion);
mnuFile.addSeparator();
mnuFile.add(mnuExit);
JMenuItem mnuUpdateTeacher = new JMenuItem("修改教师信息");
JMenuItem mnuUpdateStudent = new JMenuItem("修改学生信息");
mnuUpdate.add(mnuUpdateTeacher);
mnuUpdate.add(mnuUpdateStudent);
JMenuItem mnuSelectAllTeacher = new JMenuItem("查询所有教师");
JMenuItem mnuSelectAllStudent = new JMenuItem("查询所有学生");
JMenuItem mnuSelectQuestion = new JMenuItem("查询科目试题");
JMenuItem mnuSelectPaper = new JMenuItem("查询考试试卷");
JMenuItem mnuSelectScore = new JMenuItem("查询考试成绩");
mnuSelect.add(mnuSelectAllTeacher);
mnuSelect.add(mnuSelectAllStudent);
mnuSelect.addSeparator();
mnuSelect.add(mnuSelectQuestion);
mnuSelect.add(mnuSelectPaper);
mnuSelect.addSeparator();
mnuSelect.add(mnuSelectScore);
JMenuItem mnuBomb = new JMenuItem("扫雷");
mnuGame.add(mnuBomb);
JMenuItem mnuAbout = new JMenuItem("联系我们");
mnuHelp.add(mnuAbout);
JPanel pnlTotal = new JPanel();
this.getContentPane().add(pnlTotal);
pnlTotal.setLayout(null);
JPanel pnlTop = new JPanel();
JPanel pnlLeft = new JPanel();
JPanel pnlRight = new JPanel();
pnlTop.setBounds(0, 0, 790, 30);
pnlLeft.setBounds(10, 47, 170, 490);
pnlRight.setBounds(180, 40, 610, 500);
pnlTotal.add(pnlTop);
pnlTotal.add(pnlLeft);
pnlTotal.add(pnlRight);
pnlTop.setLayout(new GridLayout(1,10,1,1));
pnlLeft.setLayout(new BorderLayout());
pnlRight.setLayout(null);
JToolBar tolAdd = new JToolBar("添加和查询");
// JToolBar tolSelcet = new JToolBar();
pnlTop.add(tolAdd);
// pnlTop.add(tolSelcet);
JButton btnAddTeacher = new JButton("添加教师");
JButton btnAddCourse = new JButton("添加科目");
JButton btnAddBanJi = new JButton("添加班级");
JButton btnAddStudent = new JButton("添加学生");
JButton btnAddQuestion = new JButton("添加试题");
tolAdd.add(btnAddCourse);
tolAdd.add(btnAddTeacher);
tolAdd.add(btnAddBanJi);
tolAdd.add(btnAddStudent);
tolAdd.add(btnAddQuestion);
JButton btnSelectPaper = new JButton("查询考试试卷");
JButton btnSelectQuestion = new JButton("查询科目试题");
JButton btnSelectScore = new JButton("查询考试成绩");
JButton btnSelectTeacher = new JButton("查询所有教师");
JButton btnSelectStudent = new JButton("查询所有学生");
tolAdd.add(btnSelectTeacher);
tolAdd.add(btnSelectStudent);
tolAdd.add(btnSelectPaper);
tolAdd.add(btnSelectQuestion);
tolAdd.add(btnSelectScore);
if(teaSort==1){
mnuAddBanJi.setEnabled(false);
mnuAddQuestion.setEnabled(false);
mnuAddStudent.setEnabled(false);
mnuUpdateStudent.setEnabled(false);
btnAddBanJi.setEnabled(false);
btnAddQuestion.setEnabled(false);
btnAddStudent.setEnabled(false);
}else if(teaSort == 2){
mnuAddCourse.setEnabled(false);
mnuAddQuestion.setEnabled(false);
mnuAddTeacher.setEnabled(false);
mnuUpdateTeacher.setEnabled(false);
btnAddCourse.setEnabled(false);
btnAddQuestion.setEnabled(false);
btnAddTeacher.setEnabled(false);
}else if(teaSort == 3){
mnuAddBanJi.setEnabled(false);
mnuAddStudent.setEnabled(false);
mnuAddCourse.setEnabled(false);
mnuAddTeacher.setEnabled(false);
mnuUpdateStudent.setEnabled(false);
mnuUpdateTeacher.setEnabled(false);
btnAddBanJi.setEnabled(false);
btnAddStudent.setEnabled(false);
btnAddCourse.setEnabled(false);
btnAddTeacher.setEnabled(false);
}
DefaultMutableTreeNode root = new DefaultMutableTreeNode("学生信息");
S1 = new DefaultMutableTreeNode("S1");
S2 = new DefaultMutableTreeNode("S2");
Y2 = new DefaultMutableTreeNode("Y2");
showBanJi();
root.add(S1);
root.add(S2);
root.add(Y2);
treInfo = new JTree(root);
JScrollPane scpLeft = new JScrollPane(treInfo);
pnlLeft.add(scpLeft);
JPanel pnlRightTop = new JPanel();
JPanel pnlRightBottom = new JPanel();
pnlRightTop.setBounds(5, 0, 600, 150);
pnlRightBottom.setBounds(5, 150, 600, 348);
pnlRight.add(pnlRightTop);
pnlRight.add(pnlRightBottom);
pnlRightTop.setLayout(null);
pnlRightBottom.setLayout(null);
pnlRightTop.setBorder(BorderFactory.createTitledBorder("班级信息"));
pnlRightBottom.setBorder(BorderFactory.createTitledBorder("学生信息"));
JLabel lblBanJiID = new JLabel("班级名称");
lblBanJiID.setBounds(20, 35, 60, 25);
pnlRightTop.add(lblBanJiID);
txtBanJiID = new JTextField();
txtBanJiID.setEditable(false);
txtBanJiID.setForeground(Color.red);
txtBanJiID.setBounds(80, 35, 80, 25);
pnlRightTop.add(txtBanJiID);
JLabel lblTeaName = new JLabel("班主任");
lblTeaName.setBounds(200, 35, 45, 25);
pnlRightTop.add(lblTeaName);
txtTeaName = new JTextField();
txtTeaName.setEditable(false);
txtTeaName.setForeground(Color.red);
txtTeaName.setBounds(245, 35, 80, 25);
pnlRightTop.add(txtTeaName);
JLabel lblBanJiDate = new JLabel("开班时间");
lblBanJiDate.setBounds(20, 80, 60, 25);
pnlRightTop.add(lblBanJiDate);
txtBanJiDate = new JTextField();
txtBanJiDate.setEditable(false);
txtBanJiDate.setForeground(Color.red);
txtBanJiDate.setBounds(80, 80, 80, 25);
pnlRightTop.add(txtBanJiDate);
JLabel lblTotal = new JLabel("总人数");
lblTotal.setBounds(200, 80, 45, 25);
pnlRightTop.add(lblTotal);
txtTotal = new JTextField();
txtTotal.setEditable(false);
txtTotal.setForeground(Color.red);
txtTotal.setBounds(245, 80, 80, 25);
pnlRightTop.add(txtTotal);
Object[][] schCells = new String[10][2];
Object[] schCol = { "课程名称", "任课教师" };
tblSchedule = new JTable(schCells, schCol);
tblSchedule.getTableHeader().setReorderingAllowed(false);
tblSchedule.setRowHeight(20);
tblSchedule.setSelectionMode(0);
tblSchedule.setEnabled(false);
tblSchedule.getColumnModel().getColumn(0).setMinWidth(130);
JScrollPane scpSchedule = new JScrollPane(tblSchedule);
scpSchedule.setBounds(370, 20, 220, 120);
pnlRightTop.add(scpSchedule);
DefaultTableCellRenderer dtcrSchedule = new DefaultTableCellRenderer() {
private static final long serialVersionUID = 1L;
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
if (row % 2 != 0) {
setBackground(new Color(206, 231, 255));
} else {
setBackground(new Color(255, 255, 255));
}
setHorizontalAlignment(SwingConstants.CENTER);
return super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
}
};
for (int i = 0; i < tblSchedule.getColumnCount(); i++) {
tblSchedule.getColumn(schCol[i]).setCellRenderer(dtcrSchedule);
}
Object[][] stuCells = new String[10][9];
Object[] stuCol = { "学号", "姓名", "性别", "年龄", "身份证号", "民族", "联系电话",
"家庭地址", "备注" };
tblStudent = new JTable(stuCells, stuCol) {
private static final long serialVersionUID = 1L;
public boolean isCellEditable(int row, int col) {
return false;
}
};
JTableHeader tbhStudent = tblStudent.getTableHeader();
tbhStudent.setBounds(10, 25, 580, 25);
tblStudent.setBounds(10, 50, 580, 240);
tblStudent.setRowHeight(22);
tblStudent.setAutoResizeMode(0);
tbhStudent.setReorderingAllowed(false);
tblStudent.setSelectionMode(0);
TableColumnModel tcmStudent = tblStudent.getColumnModel();
tcmStudent.getColumn(2).setMinWidth(50);
tcmStudent.getColumn(2).setMaxWidth(50);
tcmStudent.getColumn(3).setMinWidth(50);
tcmStudent.getColumn(3).setMaxWidth(50);
tcmStudent.getColumn(4).setMinWidth(150);
tcmStudent.getColumn(6).setMinWidth(100);
tcmStudent.getColumn(7).setMinWidth(200);
tcmStudent.getColumn(8).setMinWidth(200);
for (int i = 0; i < tblStudent.getColumnCount(); i++) {
tcmStudent.getColumn(i).setResizable(false);
}
// TableRowSorter sorter = new TableRowSorter(tblStudent.getModel());
// tblStudent.setRowSorter(sorter);
JScrollPane scpStudent = new JScrollPane(tblStudent);
scpStudent
.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scpStudent.setBounds(10, 25, 578, 256);
pnlRightBottom.add(scpStudent);
DefaultTableCellRenderer dtcrStudent = new DefaultTableCellRenderer() {
private static final long serialVersionUID = 1L;
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
if (row % 2 != 0) {
setBackground(new Color(206, 231, 255));
} else {
setBackground(new Color(255, 255, 255));
}
if (column == 7 || column == 8) {
setHorizontalAlignment(SwingConstants.LEFT);
} else {
setHorizontalAlignment(SwingConstants.CENTER);
}
return super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -