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

📄 exammanage.java

📁 accp s1毕业项目 考试管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -