基于java+mysql的swing+mysql教务学生选课考勤成绩管理系统(java+swing+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于java+mysql的Swing+MySQL教务学生选课考勤成绩管理系统(java+swing+mysql)
启动类:LoginFrm
管理员:
admin 123456
教师:
老王 123456
老李 123456
学生:
小张 123456
小王 123456
二狗 123456
学生可以选课、签到
老师可以打成绩
public class StatsAttendanceFrm extends JInternalFrame {
private JTextField dateTextField;
private JTable statsListTable;
private List<Course> courseList = new ArrayList<Course>();
private JComboBox courseComboBox;
private JScrollPane statsListScrollPane;
private JPanel statsListPanel;
private ChartPanel chartPanel ;
/**
* Launch the application.
setLocationRelativeTo(null);
setAuthority();
}
protected void addStudentClass(ActionEvent ae) {
// TODO Auto-generated method stub
AddStudentClassFrm sca = new AddStudentClassFrm();
sca.setVisible(true);
desktopPane.add(sca);
}
protected void editPassword(ActionEvent ae) {
// TODO Auto-generated method stub
EditPasswordFrm editPasswordFrm = new EditPasswordFrm();
editPasswordFrm.setVisible(true);
desktopPane.add(editPasswordFrm);
}
protected void aboutUs(ActionEvent ae) {
// TODO Auto-generated method stub
String info = "【LittleUgly】制作\n";
info += "计应8班张三,学号:88888888";
info += "网址:http://www.google.com \n";
info += "嘿嘿!";
String[] buttons = {"迫不及待去看看!","心情不好以后再说!"};
int ret = JOptionPane.showOptionDialog(this, info, "关于我们", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.DEFAULT_OPTION, new ImageIcon(LoginFrm.class.getResource("/images/logo.png")), buttons, null);
if(ret == 0){
//采用Java 调用系统浏览器打开制定
try {
URI uri = new URI("http://www.littleugly.cn");
Desktop.getDesktop().browse(uri);
//Runtime.getRuntime().exec("explorer http://www.littleugly.cn");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
JOptionPane.showMessageDialog(this, "你真是狠心,坏淫!");
}
}
private void setAuthority(){
if("学生".equals(userType.getName())){
addStudentMenuItem.setEnabled(false);
manageClassMenu.setEnabled(false);
}
DefaultTableModel dft = (DefaultTableModel) classListTable.getModel();
int id = Integer.parseInt(dft.getValueAt(classListTable.getSelectedRow(), 0).toString());
ClassDao classDao = new ClassDao();
if(classDao.delete(id)){
JOptionPane.showMessageDialog(this, "删除成功!");
}else{
JOptionPane.showMessageDialog(this, "删除失败!");
}
classDao.closeDao();
setTable(new StudentClass());
}
protected void submitEditAct(ActionEvent ae) {
// TODO Auto-generated method stub
ClassDao classDao = new ClassDao();
int index = classListTable.getSelectedRow();
if(index == -1){
JOptionPane.showMessageDialog(this, "请选中要修改的数据!");
return;
}
DefaultTableModel dft = (DefaultTableModel) classListTable.getModel();
String className = dft.getValueAt(classListTable.getSelectedRow(), 1).toString();
String classInfo = dft.getValueAt(classListTable.getSelectedRow(), 2).toString();
String editClassName = editClassNameTextField.getText().toString();
String editClassInfo = editClassInfoTextArea.getText().toString();
if(StringUtil.isEmpty(editClassName)){
JOptionPane.showMessageDialog(this, "请填写要修改的名称!");
return;
}
if(className.equals(editClassName) && classInfo.equals(editClassInfo)){
JOptionPane.showMessageDialog(this, "您还没有做任何修改!");
return;
}
int id = Integer.parseInt(dft.getValueAt(classListTable.getSelectedRow(), 0).toString());
StudentClass sc = new StudentClass();
sc.setId(id);
sc.setName(editClassName);
sc.setInfo(editClassInfo);
if(classDao.update(sc)){
JOptionPane.showMessageDialog(this, "更新成功!");
}else{
JOptionPane.showMessageDialog(this, "更新失败!");
public class ManageStudentFrm extends JInternalFrame {
private JTextField serachStudentNameTextField;
private JTable studentListTable;
private JTextField editStudentNameTextField;
private JPasswordField editStudentPasswordPasswordField;
private JComboBox searchStudentComboBox;
private List<StudentClass> studentClassList ;
private JComboBox editStudentClassComboBox;
private ButtonGroup editSexButtonGroup;
private JRadioButton editStudentSexManRadioButton;
private JRadioButton editStudentSexFemalRadioButton;
private JRadioButton editStudentSexUnkonwRadioButton;
private JButton deleteStudentButton;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ManageStudentFrm frame = new ManageStudentFrm();
frame.setVisible(true);
} catch (Exception e) {
String teacherNameString = searchTeacherNameTextField.getText().toString();
Teacher teacher = new Teacher();
teacher.setName(teacherNameString);
setTable(teacher);
}
protected void deleteTeacher(ActionEvent ae) {
// TODO Auto-generated method stub
int row = teacherListTable.getSelectedRow();
if(row == -1){
JOptionPane.showMessageDialog(this, "请选择要删除的数据!");
return;
}
if(JOptionPane.showConfirmDialog(this, "确定要删除么?") != JOptionPane.OK_OPTION)return;
int id = Integer.parseInt(teacherListTable.getValueAt(row, 0).toString());
TeacherDao teacherDao = new TeacherDao();
if(teacherDao.delete(id)){
JOptionPane.showMessageDialog(this, "删除成功!");
}else{
JOptionPane.showMessageDialog(this, "删除失败!");
}
teacherDao.closeDao();
setTable(new Teacher());
}
private void setTable(Teacher teacher){
if("教师".equals(MainFrm.userType.getName())){
Teacher tLogined = (Teacher) MainFrm.userObject;
teacher.setName(tLogined.getName());
searchTeacherNameTextField.setText(teacher.getName());
}
DefaultTableModel dft = (DefaultTableModel) teacherListTable.getModel();
dft.setRowCount(0);
TeacherDao teacherDao = new TeacherDao();
List<Teacher> teacherList = teacherDao.getTeacherList(teacher);
for (Teacher t : teacherList) {
Vector v = new Vector();
v.add(t.getId());
v.add(t.getName());
v.add(t.getSex());
v.add(t.getTitle());
classListTable.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
"\u73ED\u7EA7\u7F16\u53F7","\u73ED\u7EA7\u540D\u79F0" , "\u73ED\u7EA7\u4FE1\u606F\u4ECB\u7ECD"
}
) {
boolean[] columnEditables = new boolean[] {
false, false, false
};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
classListTable.getColumnModel().getColumn(2).setPreferredWidth(316);
scrollPane.setViewportView(classListTable);
getContentPane().setLayout(groupLayout);
setTable(new StudentClass());
}
protected void deleteClassAct(ActionEvent ae) {
// TODO Auto-generated method stub
if(JOptionPane.showConfirmDialog(this, "您确定删除么?") != JOptionPane.OK_OPTION){
return;
}
int index = classListTable.getSelectedRow();
if(index == -1){
JOptionPane.showMessageDialog(this, "请选中要删除的数据!");
return;
}
DefaultTableModel dft = (DefaultTableModel) classListTable.getModel();
int id = Integer.parseInt(dft.getValueAt(classListTable.getSelectedRow(), 0).toString());
ClassDao classDao = new ClassDao();
if(classDao.delete(id)){
JOptionPane.showMessageDialog(this, "删除成功!");
}else{
JOptionPane.showMessageDialog(this, "删除失败!");
}
classDao.closeDao();
setTable(new StudentClass());
}
protected void submitEditAct(ActionEvent ae) {
// TODO Auto-generated method stub
ClassDao classDao = new ClassDao();
int index = classListTable.getSelectedRow();
if(index == -1){
JOptionPane.showMessageDialog(this, "请选中要修改的数据!");
return;
}
DefaultTableModel dft = (DefaultTableModel) classListTable.getModel();
String className = dft.getValueAt(classListTable.getSelectedRow(), 1).toString();
String classInfo = dft.getValueAt(classListTable.getSelectedRow(), 2).toString();
String editClassName = editClassNameTextField.getText().toString();
}else{
JOptionPane.showMessageDialog(this, "选课成功,课程信息更新失败!");
}
}else{
JOptionPane.showMessageDialog(this, "选课失败!");
}
courseDao.closeDao();
scDao.closeDao();
initTable();
}
private void setStudentCombox(){
StudentDao studentDao = new StudentDao();
studentList = studentDao.getStudentList(new Student());
studentDao.closeDao();
for (Student student : studentList) {
searchStudentComboBox.addItem(student);
editSelectedStudentComboBox.addItem(student);
}
if("学生".equals(MainFrm.userType.getName())){
Student user = (Student) MainFrm.userObject;
for(int i = 0; i < searchStudentComboBox.getItemCount();i++){
Student student = (Student) searchStudentComboBox.getItemAt(i);
if(student.getId() == user.getId()){
searchStudentComboBox.setSelectedIndex(i);
editSelectedStudentComboBox.setSelectedIndex(i);
break;
}
}
}
}
private void setCourseCombox(){
CourseDao courseDao = new CourseDao();
courseList = courseDao.getCourseList(new Course());
courseDao.closeDao();
for (Course course : courseList) {
searchCourseComboBox.addItem(course);
editSelectedCourseComboBox.addItem(course);
}
}
private void getSelectedCourse(SelectedCourse selectedCourse){
SelectedCourseDao selectedCourseDao = new SelectedCourseDao();
List<SelectedCourse> selectedCourseList = selectedCourseDao.getSelectedCourseList(selectedCourse);
DefaultTableModel dft = (DefaultTableModel) selectedCourseListTable.getModel();
dft.setRowCount(0);
for (SelectedCourse sc : selectedCourseList) {
Vector v = new Vector();
v.add(sc.getId());
v.add(getStudentNameById(sc.getStudent_id()));
v.add(getCourseNameById(sc.getCourse_id()));
private JPasswordField studentPasswordField;
private JComboBox studentClassComboBox;
private ButtonGroup sexButtonGroup;
private JRadioButton studentSexManRadioButton;
private JRadioButton studentSexFemalRadioButton;
private JRadioButton studentSexUnkonwRadioButton;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
AddStudentFrm frame = new AddStudentFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public AddStudentFrm() {
setClosable(true);
setIconifiable(true);
setTitle("\u6DFB\u52A0\u5B66\u751F");
setBounds(100, 100, 450, 300);
JLabel label = new JLabel("\u5B66\u751F\u59D3\u540D\uFF1A");
label.setIcon(new ImageIcon(AddStudentFrm.class.getResource("/images/\u5B66\u751F\u7BA1\u7406.png")));
label.setFont(new Font("微软雅黑", Font.PLAIN, 14));
studentNameTextField = new JTextField();
studentNameTextField.setColumns(10);
JLabel label_1 = new JLabel("\u6240\u5C5E\u73ED\u7EA7\uFF1A");
label_1.setIcon(new ImageIcon(AddStudentFrm.class.getResource("/images/\u73ED\u7EA7\u540D\u79F0.png")));
public class ManageStudentFrm extends JInternalFrame {
private JTextField serachStudentNameTextField;
private JTable studentListTable;
private JTextField editStudentNameTextField;
private JPasswordField editStudentPasswordPasswordField;
private JComboBox searchStudentComboBox;
private List<StudentClass> studentClassList ;
private JComboBox editStudentClassComboBox;
private ButtonGroup editSexButtonGroup;
private JRadioButton editStudentSexManRadioButton;
private JRadioButton editStudentSexFemalRadioButton;
private JRadioButton editStudentSexUnkonwRadioButton;
private JButton deleteStudentButton;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
}
public class ManageSelectedCourseFrm extends JInternalFrame {
private JTable selectedCourseListTable;
private JComboBox searchCourseComboBox;
private JComboBox searchStudentComboBox;
private JComboBox editSelectedStudentComboBox;
private JComboBox editSelectedCourseComboBox;
private List<Student> studentList = new ArrayList<Student>();
private List<Course> courseList = new ArrayList<Course>();
/**
* Launch the application.
*/
public static void main(String[] args) {
public class MainFrm extends JFrame {
private JPanel contentPane;
private JDesktopPane desktopPane;
public static UserType userType;
public static Object userObject;
private JMenuItem addStudentMenuItem ;
private JMenu manageClassMenu ;
private JMenu manageTeacherMenu;
private JMenuItem addTeacherMenuItem;
private JMenu courseMenu;
private JMenuItem studentAttdentanceMenuItem;
private JMenuItem manageAttendanceMenuItem;
private JMenuItem statsAttendanceMenuItem;
private JMenuItem addScoreMenuItem;
private JMenuItem viewScoreMenuItem;
private JMenuItem manageScoreMenuItem;
private JMenuItem scoreStatsMenuItem;
/**
* Launch the application.
*/
// public static void main(String[] args) {
// EventQueue.invokeLater(new Runnable() {
// public void run() {
// try {
// MainFrm frame = new MainFrm(null,null);
// frame.setVisible(true);
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
// });
// }
/**
* Create the frame.
*/
public MainFrm(UserType userType,Object userObject) {
maxScoreTextField.setText("");
minScoreTextField.setText("");
middScoreTextField.setText("");
studentNumTextField.setText("");
}
private void drawBar(int studentNum,int maxScore, int minScore,double midScore,String courseName){
setLanuage();
DefaultCategoryDataset dataSet = new DefaultCategoryDataset();//创建一个数据集
//dataSet.addValue(studentNum, courseName, "学生人数");//添加数据
dataSet.addValue(maxScore, courseName+"(学生人数:"+studentNum+")", "最高分");
dataSet.addValue(minScore, courseName+"(学生人数:"+studentNum+")", "最低分");
dataSet.addValue(midScore, courseName+"(学生人数:"+studentNum+")", "平均分");
//创建一个chart对象,把数据集放进去
JFreeChart chart = ChartFactory.createBarChart3D("学生成绩统计情况", "成绩类别", "成绩分数", dataSet, PlotOrientation.VERTICAL, true, false, false);
//创建一个图标panel
chartPanel= new ChartPanel(chart);
//将图标panel添加到要显示的panel上
chartPanel.setPreferredSize(new Dimension(500,420));
viewPanel.add(chartPanel,BorderLayout.CENTER);
viewPanel.setLayout(new FlowLayout());
viewPanel.updateUI();
viewPanel.repaint();
}
protected void drawCircle(int maxScore, int minScore,double midScore,String courseName) {
// TODO Auto-generated method stub
setLanuage();
DefaultPieDataset dataSet = new DefaultPieDataset();//创建数据集
dataSet.setValue("最高分",maxScore);//设置数据
dataSet.setValue("最低分",minScore);
dataSet.setValue("平均分",midScore);
JFreeChart chart = ChartFactory.createPieChart3D(courseName+"课程学生成绩统计", dataSet, true, true, false);
chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(540,420));
viewPanel.add(chartPanel,BorderLayout.CENTER);
viewPanel.setLayout(new FlowLayout());
viewPanel.updateUI();
viewPanel.repaint();
}
private void setDefaultPanel(String studentNum,String maxScore, String minScore,String midScore){
maxScoreTextField.setText(maxScore);
minScoreTextField.setText(minScore);
middScoreTextField.setText(midScore);
studentNumTextField.setText(studentNum);
//viewPanel.add(maxScoreTextField);
}
});
scrollPane.setViewportView(selectedCourseListTable);
JLabel label_2 = new JLabel("\u5B66\u751F\uFF1A");
label_2.setIcon(new ImageIcon(ManageSelectedCourseFrm.class.getResource("/images/\u5B66\u751F\u7BA1\u7406.png")));
label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
editSelectedStudentComboBox = new JComboBox();
JLabel label_3 = new JLabel("\u8BFE\u7A0B\uFF1A");
label_3.setIcon(new ImageIcon(ManageSelectedCourseFrm.class.getResource("/images/\u65B0\u4EBA\u8BFE\u7A0B.png")));
label_3.setFont(new Font("微软雅黑", Font.PLAIN, 14));
editSelectedCourseComboBox = new JComboBox();
JButton confirmEditButton = new JButton("\u786E\u8BA4\u4FEE\u6539");
confirmEditButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
editSelectCourseAct(ae);
}
});
confirmEditButton.setIcon(new ImageIcon(ManageSelectedCourseFrm.class.getResource("/images/\u786E\u8BA4.png")));
confirmEditButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
JButton deleteCourseButton = new JButton("\u9000\u9009\u8BFE\u7A0B");
deleteCourseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
deleteSelectedCourse(ae);
}
});
deleteCourseButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
deleteCourseButton.setIcon(new ImageIcon(ManageSelectedCourseFrm.class.getResource("/images/\u5220\u9664.png")));
GroupLayout gl_panel = new GroupLayout(panel);
gl_panel.setHorizontalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addContainerGap()
.addComponent(label_2)
.addGap(18)
.addComponent(editSelectedStudentComboBox, GroupLayout.PREFERRED_SIZE, 127, GroupLayout.PREFERRED_SIZE))
.addGroup(gl_panel.createSequentialGroup()
.addGap(75)
calendarPanel.setBorder(BorderFactory.createLineBorder(new Color(0xAA, 0xAA, 0xAA)));
calendarPanel.add(titlePanel = new TitlePanel(), BorderLayout.NORTH);
calendarPanel.add(bodyPanel = new BodyPanel(), BorderLayout.CENTER);
calendarPanel.add(footerPanel = new FooterPanel(), BorderLayout.SOUTH);
this.addAncestorListener(new AncestorListener() {
public void ancestorAdded(AncestorEvent event) { }
public void ancestorRemoved(AncestorEvent event) {hidePanel();}
//hide pop when move component.
public void ancestorMoved(AncestorEvent event) {
hidePanel();
}
});
}
public void register(final JComponent showComponent) {
this.showDate = showComponent;
showComponent.setRequestFocusEnabled(true);
showComponent.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
showComponent.requestFocusInWindow();
}
});
this.add(showComponent, BorderLayout.CENTER);
this.setPreferredSize(new Dimension(90, 25));
this.setBorder(BorderFactory.createLineBorder(Color.GRAY));
showComponent.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent me) {
if (showComponent.isEnabled()) {
showComponent.setCursor(new Cursor(Cursor.HAND_CURSOR));
}
}
public void mouseExited(MouseEvent me) {
if (showComponent.isEnabled()) {
showComponent.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
showComponent.setForeground(Color.BLACK);
}
}
public void mousePressed(MouseEvent me) {
if (showComponent.isEnabled()) {
showComponent.setForeground(hoverColor);
if (isShow) {
hidePanel();
} else {
showPanel(showComponent);
}
}
}
.addGap(49)
.addComponent(panel, GroupLayout.PREFERRED_SIZE, 538, GroupLayout.PREFERRED_SIZE)
.addContainerGap(47, Short.MAX_VALUE))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(23)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(label)
.addComponent(addSelectedCourseComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(addAttendanceButton))
.addGap(28)
.addComponent(panel, GroupLayout.PREFERRED_SIZE, 370, GroupLayout.PREFERRED_SIZE)
.addContainerGap(37, Short.MAX_VALUE))
);
JLabel label_1 = new JLabel("\u8BFE\u7A0B\uFF1A");
label_1.setIcon(new ImageIcon(AttendanceStudentFrm.class.getResource("/images/\u8BFE\u7A0B.png")));
label_1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
searchSelectedComboBox = new JComboBox();
JLabel label_2 = new JLabel("\u65E5\u671F\uFF1A");
label_2.setIcon(new ImageIcon(AttendanceStudentFrm.class.getResource("/images/\u65E5\u671F.png")));
label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
searchAttendanceDateTextField = new JTextField();
searchAttendanceDateTextField.setColumns(10);
JButton searchAttendanceButton = new JButton("\u67E5\u8BE2");
searchAttendanceButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
searchAct(ae);
}
});
searchAttendanceButton.setIcon(new ImageIcon(AttendanceStudentFrm.class.getResource("/images/\u641C\u7D22.png")));
searchAttendanceButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
JScrollPane scrollPane = new JScrollPane();
GroupLayout gl_panel = new GroupLayout(panel);
gl_panel.setHorizontalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addContainerGap()
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addComponent(scrollPane, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 506, Short.MAX_VALUE)
.addGroup(gl_panel.createSequentialGroup()
.addComponent(label_1)
.addGap(18)
.addComponent(searchSelectedComboBox, GroupLayout.PREFERRED_SIZE, 123, GroupLayout.PREFERRED_SIZE)
.addGap(18)
manageTeacherFrm.setVisible(true);
desktopPane.add(manageTeacherFrm);
}
});
menuItem_8.setIcon(new ImageIcon(MainFrm.class.getResource("")));
manageTeacherMenu.add(menuItem_8);
courseMenu = new JMenu("\u8BFE\u7A0B\u7BA1\u7406");
courseMenu.setIcon(new ImageIcon(MainFrm.class.getResource("")));
menuBar.add(courseMenu);
JMenuItem addCourseMenuItem = new JMenuItem("\u6DFB\u52A0\u8BFE\u7A0B");
addCourseMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
AddCourseFrm addCourseFrm = new AddCourseFrm();
addCourseFrm.setVisible(true);
desktopPane.add(addCourseFrm);
}
});
addCourseMenuItem.setIcon(new ImageIcon(MainFrm.class.getResource("")));
courseMenu.add(addCourseMenuItem);
JMenuItem courseListMenuItem = new JMenuItem("\u8BFE\u7A0B\u5217\u8868");
courseListMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ManageCourseFrm manageCourseFrm = new ManageCourseFrm();
manageCourseFrm.setVisible(true);
desktopPane.add(manageCourseFrm);
}
});
courseListMenuItem.setIcon(new ImageIcon(MainFrm.class.getResource("")));
courseMenu.add(courseListMenuItem);
JMenu menu_4 = new JMenu("\u9009\u8BFE\u7BA1\u7406");
menu_4.setIcon(new ImageIcon(MainFrm.class.getResource("")));
menuBar.add(menu_4);
JMenuItem menuItem_2 = new JMenuItem("\u9009\u8BFE\u7BA1\u7406");
menuItem_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ManageSelectedCourseFrm manageSelectedCourseFrm = new ManageSelectedCourseFrm();
manageSelectedCourseFrm.setVisible(true);
desktopPane.add(manageSelectedCourseFrm);
}
});
menuItem_2.setIcon(new ImageIcon(MainFrm.class.getResource("")));
menu_4.add(menuItem_2);
JMenu menu_2 = new JMenu("\u7B7E\u5230\u8003\u52E4");
menu_2.setIcon(new ImageIcon(MainFrm.class.getResource("")));
private static final long serialVersionUID = -8053965084432740110L;
private String name;
public WeekLabel(int index, String name){
super(name, JLabel.CENTER);
this.name = name;
}
public String toString(){
return name;
}
}
private class DayLabel extends JLabel implements java.util.Comparator<DayLabel>, MouseListener, java.awt.event.MouseMotionListener {
private static final long serialVersionUID = -6002103678554799020L;
private boolean isSelected;
private int year, month, day;
public DayLabel(Calendar cal){
super(""+cal.get(Calendar.DAY_OF_MONTH), JLabel.CENTER);
this.year = cal.get(Calendar.YEAR);
this.month = cal.get(Calendar.MONTH);
this.day = cal.get(Calendar.DAY_OF_MONTH);
this.setFont(font);
this.addMouseListener(this);
this.addMouseMotionListener(this);
if(month == calendar.get(Calendar.MONTH)) this.setForeground(Color.BLACK);
else this.setForeground(Color.LIGHT_GRAY);
}
public boolean getIsSelected() {
return isSelected;
}
public void setSelected(boolean b, boolean isDrag) {
isSelected = b;
if (b && !isDrag) {
int temp = calendar.get(Calendar.MONTH);
calendar.set(year, month, day);
if (temp == month) {
SwingUtilities.updateComponentTreeUI(bodyPanel);
} else {
refresh();
}
this.repaint();
}