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

📄 addbanjischedule.java

📁 accp s1毕业项目 考试管理系统
💻 JAVA
字号:
package com.exam.ui.banzhuren;

import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.List;

import javax.swing.BorderFactory;
import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JComboBox;
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.table.TableColumn;

import com.exam.db.bean.BanJi;
import com.exam.db.bean.Course;
import com.exam.db.bean.Schedule;
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.TeacherDao;
import com.exam.ui.SuperFrame;
import com.exam.ui.calendar.ShowCalendar;

public class AddBanJiSchedule extends SuperFrame {
	private static final long serialVersionUID = 1L;
	public JTextField txtBanJiDate = null;
	JTable tblSchedule;
	int row;
	int num = 0;
	JScrollPane scpSchedule;

	public AddBanJiSchedule() {
		try {
			init();
			this.setVisible(true);
			this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void init() {
		this.setTitle("添加班级信息");
		this.setSize(600, 450);
		this.setCenter();

		this.setResizable(false);

		JPanel pnlTotal = new JPanel();
		this.getContentPane().add(pnlTotal);
		pnlTotal.setLayout(null);

		JPanel pnlTop = new JPanel();
		pnlTop.setBounds(30, 20, 210, 315);
		pnlTop.setBorder(BorderFactory.createTitledBorder("班级信息"));
		pnlTotal.add(pnlTop);
		pnlTop.setLayout(null);

		JLabel lblBanJiID = new JLabel("班级名称");
		lblBanJiID.setBounds(20, 100, 60, 25);
		pnlTop.add(lblBanJiID);

		final JTextField txtBanJiID = new JTextField();
		txtBanJiID.setBounds(80, 100, 105, 25);
		pnlTop.add(txtBanJiID);

		JLabel lblBanJiDate = new JLabel("开学时间");
		lblBanJiDate.setBounds(20, 240, 60, 25);
		pnlTop.add(lblBanJiDate);

		txtBanJiDate = new JTextField();
		txtBanJiDate.setEditable(false);
		txtBanJiDate.setBounds(80, 240, 80, 25);
		pnlTop.add(txtBanJiDate);

		JButton btnCalendar = new JButton("...");
		btnCalendar.setBounds(160, 240, 25, 25);
		btnCalendar.setMargin(new Insets(0, 0, 0, 0));
		pnlTop.add(btnCalendar);

		JLabel lblTeaID = new JLabel("班  主  任");
		lblTeaID.setBounds(20, 170, 60, 25);
		pnlTop.add(lblTeaID);

		final JComboBox cboTeaID = new JComboBox();
		cboTeaID.addItem("");
		cboTeaID.setBounds(80, 170, 105, 25);
		pnlTop.add(cboTeaID);

		// 添加下拉列表的数据(从数据库中读出来添加)
		List<Teacher> list = new ArrayList<Teacher>();
		TeacherDao teacherDao = new TeacherDao();
		Teacher teacher = null;
		list = teacherDao.selectAllBySort(2);
		for (int i = 0; i < list.size(); i++) {
			teacher = new Teacher();
			teacher = list.get(i);
			String teaName = teacher.getTeaName();
			cboTeaID.addItem(teaName);
		}

		final JLabel lblGrade = new JLabel("年        级");
		lblGrade.setBounds(20, 30, 60, 25);
		pnlTop.add(lblGrade);

		final JComboBox cboGrade = new JComboBox();
		cboGrade.addItem("S1");
		cboGrade.addItem("S2");
		cboGrade.addItem("Y2");
		cboGrade.setBounds(80, 30, 105, 25);
		pnlTop.add(cboGrade);

		JPanel pnlBottom = new JPanel();
		pnlBottom.setBounds(265, 20, 300, 315);
		pnlBottom.setBorder(BorderFactory.createTitledBorder("课程信息"));
		pnlTotal.add(pnlBottom);
		pnlBottom.setLayout(null);

		Object[][] data = new String[10][2];
		Object[] columns = { "课程名称", "任课教师" };
		tblSchedule = new JTable(data, columns){
		private static final long serialVersionUID = 1L;
			public boolean isCellEditable(int row, int col) {
				if(col == 0){
					return false;
				}
				return true;
			}			
		};
		tblSchedule.setRowHeight(24);

		scpSchedule = new JScrollPane(tblSchedule);
		scpSchedule.setBounds(10, 30, 280, 262);
		pnlBottom.add(scpSchedule);

		showSchedule("S1");

		final JComboBox cboTeaName = new JComboBox();
		cboTeaName.addItem("");
		list = teacherDao.selectAllBySort(3);
		for (int i = 0; i < list.size(); i++) {
			teacher = new Teacher();
			teacher = list.get(i);
			String teaName = teacher.getTeaName();
			cboTeaName.addItem(teaName);
		}

		TableColumn tc = tblSchedule.getColumnModel().getColumn(1);
		tc.setCellEditor(new DefaultCellEditor(cboTeaName));

		JButton btnSave = new JButton("保    存");
		btnSave.setBounds(138, 360, 100, 25);
		pnlTotal.add(btnSave);

		JButton btnCancel = new JButton("重    置");
		btnCancel.setBounds(350, 360, 100, 25);
		pnlTotal.add(btnCancel);

		btnCalendar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				showDate();
			}
		});
		btnCancel.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				txtBanJiID.setText("");
				txtBanJiDate.setText("");
				cboTeaID.setSelectedIndex(0);
				cboGrade.setSelectedIndex(0);
				for (int i = 0; i < 10; i++) {
					tblSchedule.setValueAt("", i, 1);
				}
			}
		});

		cboGrade.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent arg0) {
				if (arg0.getItem().equals("S1")) {
					clear();
					showSchedule("S1");
				} else if (arg0.getItem().equals("S2")) {
					clear();
					showSchedule("S2");
				} else {
					clear();
					showSchedule("Y2");
				}
			}
		});

		btnSave.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				int sum = 0;
				Teacher teacher = new Teacher();
				TeacherDao teacherDao = new TeacherDao();

				String grade = cboGrade.getSelectedItem().toString();
				String banJiID = txtBanJiID.getText();
				String banJiDate = txtBanJiDate.getText();
				if (banJiID.equals("")) {
					JOptionPane.showMessageDialog(null, "请输入班级名称!");
					txtBanJiID.requestFocus();
					return;
				} else if (banJiID.length() > 5) {
					JOptionPane.showMessageDialog(null, "请输入正确的班级名称!");
					txtBanJiID.requestFocus();
					return;
				}

				String teaID = "";
				String teaName = cboTeaID.getSelectedItem().toString().trim();
				if (teaName.equals("")) {
					JOptionPane.showMessageDialog(null, "请选择班主任!");
					return;
				} else {
					teacher = teacherDao.selectTeaIDByTeaName(teaName);
					teaID = teacher.getTeaID();
				}

				if (teaID.equals("")) {
					JOptionPane.showMessageDialog(null, "请选择班主任!");
					return;
				}

				if (cboTeaID.getSelectedIndex() == 0) {
					JOptionPane.showMessageDialog(null, "请选择班主任!");
					return;
				}
				if (banJiDate.equals("")) {
					JOptionPane.showMessageDialog(null, "请选择开学时间!");
					return;
				}

				BanJi banJi = new BanJi();
				BanJiDao banJiDao = new BanJiDao();
				banJi.setBanJiID(banJiID);
				banJi.setBanJiDate(banJiDate);
				banJi.setTeaID(teaID);
				banJi.setGrade(grade);

				for (int i = 0; i < num; i++) {
					String str = "";
					try {
						str = tblSchedule.getValueAt(i, 1).toString();
					} catch (NullPointerException e) {
						JOptionPane.showMessageDialog(null, "请选择任课教师!");
						return;
					}
					if (str.equals("")) {
						JOptionPane.showMessageDialog(null, "请选择任课教师!");
						return;
					}
				}

				int result = banJiDao.insertBanJi(banJi);
				sum += result;
				for (int i = 0; i < num; i++) {
					ScheduleDao scheduleDao = new ScheduleDao();
					Schedule schedule = new Schedule();
					String courseName = tblSchedule.getValueAt(i, 0).toString()
							.trim();
					String teacherName = tblSchedule.getValueAt(i, 1)
							.toString().trim();
					CourseDao courseDao = new CourseDao();
					Course course = courseDao.selectCourseIDByName(courseName);
					int couID = course.getCouID();
					teacher = teacherDao.selectTeaIDByTeaName(teacherName);
					String teacherID = teacher.getTeaID();

					schedule.setBanJiID(banJiID);
					schedule.setCouID(couID);
					schedule.setTeaID(teacherID);
					result = scheduleDao.insertSchedule(schedule);
					sum += result;
				}

				if (sum == (num + 1)) {
					JOptionPane.showMessageDialog(null, "保存成功!");
					dispose();
				} else {
					JOptionPane.showMessageDialog(null, "保存失败!\n班级重名!");
				}

			}
		});
	}

	public void clear() {
		for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 2; j++) {
				tblSchedule.setValueAt("", i, j);
			}
		}
	}

	public int showSchedule(String grade) {
		CourseDao courseDao = new CourseDao();
		List<Course> list2 = new ArrayList<Course>();
		list2 = courseDao.selectCourseNameByGrade(grade);
		num = list2.size();
		for (int i = 0; i < num; i++) {
			tblSchedule.setValueAt(list2.get(i).getCouName(), i, 0);
		}
		return num;
	}

	public void showDate() {
		new ShowCalendar(this);
	}
}

⌨️ 快捷键说明

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