package com.coding.frame;
import com.coding.dao.ClassroomDAO;
import com.coding.dao.CourseDAO;
import com.coding.dao.PlanDAO;
import com.coding.dao.TeacherDAO;
import com.coding.util.SystemConstants;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
/**
* @author 专治八阿哥的孟老师
*/
public class PlanEditPanel extends JInternalFrame {
public PlanEditPanel(Object selectedId) {
super("安排课程", true, true, true, true);
this.setSize(SystemConstants.FRAME_WIDTH - 20, SystemConstants.FRAME_HEIGHT - 50);
// 创建内容面板
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
// 设置内部窗口的内容面板
this.setContentPane(panel);
Box boxBase = Box.createHorizontalBox();
Box boxLeft = Box.createVerticalBox();
boxLeft.add(new JLabel("教室"));
boxLeft.add(Box.createVerticalStrut(8));
boxLeft.add(new JLabel("星期"));
boxLeft.add(Box.createVerticalStrut(8));
boxLeft.add(new JLabel("节"));
boxLeft.add(Box.createVerticalStrut(8));
boxLeft.add(new JLabel("课程"));
boxLeft.add(Box.createVerticalStrut(30));
Box boxRight = Box.createVerticalBox();
JLabel field1 = new JLabel();
boxRight.add(field1);
JLabel roomLabel = new JLabel();
boxRight.add(roomLabel);
JLabel field2 = new JLabel();
boxRight.add(field2);
boxRight.add(Box.createVerticalStrut(5));
JLabel field3 = new JLabel();
boxRight.add(field3);
boxRight.add(Box.createVerticalStrut(5));
String id = (String) selectedId;
if (!"".equals(id)) {
Object[] plan = PlanDAO.findById(id);
field1.setText(plan[1].toString());
field2.setText(plan[2].toString());
field3.setText(plan[3].toString());
Object[] room = ClassroomDAO.findById(plan[1].toString());
roomLabel.setText(room[1] + "人;" + room[2]);
}
JComboBox comboBox = new JComboBox();
comboBox.addItem(new ComboItem("", "空闲"));
for (Object[] datum : CourseDAO.data) {
comboBox.addItem(new ComboItem((String) datum[2], TeacherDAO.findById((String) datum[2])[1] + "-" + datum[1]));
}
boxRight.add(comboBox);
boxRight.add(Box.createVerticalStrut(5));
JButton btn = new JButton("提交");
btn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
ComboItem item = (ComboItem) comboBox.getSelectedItem();
Object[] data = new Object[]{id, field1.getText(), field2.getText(), field3.getText(),item.getName(), item.getId()};
if (!"".equals(id)) {
//不是空闲
if (!item.getId().equals("")) {
// {"ID", "教室ID", "星期", "节次", "排课", "老师id"}
for (Object[] d : PlanDAO.data) {
if (d[2].equals(data[2]) && d[3].equals(data[3]) && d[5].equals(data[5]) && !d[0].equals(data[0])) {
JOptionPane.showMessageDialog(btn.getParent(), "该老师在同一时间有其他课程", "系统提示",
JOptionPane.WARNING_MESSAGE);
return;
}
}
}
PlanDAO.update(id, data);
}
AdminPanel.setContent(new PlanTablePanel());
}
});
boxRight.add(btn);
boxBase.add(boxLeft);
boxBase.add(Box.createHorizontalStrut(8));
boxBase.add(boxRight);
panel.add(boxBase);
// 显示内部窗口
this.setVisible(true);
}
}
class ComboItem {
private String id;
private String name;
public ComboItem(String id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目介绍:https://blog.csdn.net/u011731544/article/details/132149720 功能描述: 系统有两个角色:教务员和教师; 教务员登录后可查看教室空闲状态(根据教室编号搜索)、安排课程,同一老师的上课时间不能冲突,不能在同一时间出现在不同教室; 排课界面显示教室的容纳人数和设备; 教师登录后显示姓名和职称,可查看自己课程的排课信息,可根据教室编号搜索教室空闲情况; 本项目不含数据库,使用Java集合存储数据
资源推荐
资源详情
资源评论
收起资源包目录
Swing-教室排课.zip (16个子文件)
支付宝送红包.png 255KB
classroom-demo
src
com
coding
dao
TeacherDAO.java 1KB
ClassroomDAO.java 1KB
PlanDAO.java 2KB
UserDAO.java 1KB
CourseDAO.java 531B
pojo
User.java 782B
util
SystemConstants.java 194B
frame
PlanTablePanel.java 3KB
TeacherPanel.java 4KB
LoginPanel.java 2KB
UserPanel.java 2KB
PlanEditPanel.java 4KB
AdminPanel.java 2KB
MainFrame.java 714B
扫码关注.png 1.06MB
共 16 条
- 1
资源评论
专治八阿哥的孟老师
- 粉丝: 2524
- 资源: 116
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功