基于java+mysql的swing+mysql教务学生选课考勤成绩管理系统(java+swing+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于java的Swing+MySQL教务学生选课考勤成绩管理系统(java+swing+mysql)
启动类:LoginFrm
管理员:
admin 123456
教师:
老王 123456
老李 123456
学生:
小张 123456
小王 123456
二狗 123456
学生可以选课、签到
老师可以打成绩
private String getStudentNameById(int id){
for (int i = 0; i < studentList.size(); i++) {
if(studentList.get(i).getId() == id)return studentList.get(i).getName();
}
return "";
}
private String getCourseNameById(int id){
for (int i = 0; i < courseList.size(); i++) {
if(id == courseList.get(i).getId())return courseList.get(i).getName();
}
return "";
}
private int getCourseIdByName(String name){
for (int i = 0; i < courseList.size(); i++) {
if(name.equals(courseList.get(i).getName()))return courseList.get(i).getId();
}
return 0;
}
private void setAuthority(){
if("学生".equals(MainFrm.userType.getName())){
searchStudentComboBox.setEnabled(false);
editSelectedStudentComboBox.setEnabled(false);
}
}
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ManageStudentFrm frame = new ManageStudentFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ManageStudentFrm() {
setClosable(true);
setIconifiable(true);
setTitle("\u5B66\u751F\u4FE1\u606F\u7BA1\u7406");
setBounds(100, 100, 842, 561);
JScrollPane scrollPane = new JScrollPane();
JLabel label = new JLabel("\u5B66\u751F\u59D3\u540D\uFF1A");
label.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u5B66\u751F\u7BA1\u7406.png")));
label.setFont(new Font("微软雅黑", Font.PLAIN, 14));
serachStudentNameTextField = new JTextField();
serachStudentNameTextField.setColumns(10);
JLabel label_1 = new JLabel("\u6240\u5C5E\u73ED\u7EA7\uFF1A");
label_1.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u73ED\u7EA7\u540D\u79F0.png")));
label_1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
searchStudentComboBox = new JComboBox();
JButton searchButton = new JButton("\u67E5\u8BE2");
searchButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
searchStudent(ae);
}
});
searchButton.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u641C\u7D22.png")));
searchButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
JLabel label_2 = new JLabel("\u5B66\u751F\u59D3\u540D\uFF1A");
label_2.setIcon(new ImageIcon(ManageStudentFrm.class.getResource("/images/\u5B66\u751F\u7BA1\u7406.png")));
label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
editStudentNameTextField = new JTextField();
editStudentNameTextField.setColumns(10);
public class AddCourseFrm extends JInternalFrame {
private JTextField courseNameTextField;
private JTextField studentNumTextField;
private JComboBox teacherListComboBox;
private JTextArea courseInfoTextArea;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
AddCourseFrm frame = new AddCourseFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public AddCourseFrm() {
setClosable(true);
setIconifiable(true);
public class AddCourseFrm extends JInternalFrame {
private JTextField courseNameTextField;
private JTextField studentNumTextField;
private JComboBox teacherListComboBox;
private JTextArea courseInfoTextArea;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
AddCourseFrm frame = new AddCourseFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public AddCourseFrm() {
setClosable(true);
setIconifiable(true);
setTitle("\u6DFB\u52A0\u8BFE\u7A0B");
setBounds(100, 100, 453, 471);
JLabel label = new JLabel("\u8BFE\u7A0B\u540D\u79F0\uFF1A");
label.setIcon(new ImageIcon(AddCourseFrm.class.getResource("")));
label.setFont(new Font("微软雅黑", Font.PLAIN, 14));
}
});
}
/**
* 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")));
label_1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
studentClassComboBox = new JComboBox();
studentClassComboBox.setModel(new DefaultComboBoxModel(new String[] {}));
JLabel label_2 = new JLabel("\u767B\u5F55\u5BC6\u7801\uFF1A");
label_2.setIcon(new ImageIcon(AddStudentFrm.class.getResource("/images/password.png")));
label_2.setFont(new Font("微软雅黑", Font.PLAIN, 14));
studentPasswordField = new JPasswordField();
JLabel label_3 = new JLabel("\u5B66\u751F\u6027\u522B\uFF1A");
label_3.setIcon(new ImageIcon(AddStudentFrm.class.getResource("/images/\u6027\u522B.png")));
label_3.setFont(new Font("微软雅黑", Font.PLAIN, 14));
studentSexManRadioButton = new JRadioButton("\u7537");
studentSexManRadioButton.setSelected(true);
studentSexFemalRadioButton = new JRadioButton("\u5973");
studentSexUnkonwRadioButton = new JRadioButton("\u4FDD\u5BC6");
sexButtonGroup = new ButtonGroup();
sexButtonGroup.add(studentSexManRadioButton);
sexButtonGroup.add(studentSexFemalRadioButton);
sexButtonGroup.add(studentSexUnkonwRadioButton);
JButton submitButton = new JButton("\u786E\u8BA4");
statsListPanel.repaint();
}
private void clearPanel(){
statsListPanel.removeAll();
statsListPanel.updateUI();
statsListPanel.repaint();
}
private void setLanuage(){
//创建主题样式
StandardChartTheme standardChartTheme=new StandardChartTheme("CN");
//设置标题字体
standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,20));
//设置图例的字体
standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15));
//设置轴向的字体
standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15));
//应用主题样式
ChartFactory.setChartTheme(standardChartTheme);
}
private int getAttendanceNum(Course course,String dateString){
AttendanceDao attendanceDao = new AttendanceDao();
List<HashMap<Integer, String>> attendanceStatsList = attendanceDao.getAttendanceStatsList(course.getId(), dateString);
int attendanceNum = 0 ;
for(HashMap<Integer, String> attendanceStats : attendanceStatsList){
Set<Entry<Integer, String>> entrySet = attendanceStats.entrySet();
for(Entry<Integer, String> entry : entrySet){
attendanceNum = entry.getKey();
}
}
return attendanceNum;
}
}
//JOptionPane.showMessageDialog(this, "changed");
//setStudentCombox();
}
private void setCourseCombox(){
CourseDao courseDao = new CourseDao();
courseList = courseDao.getCourseList(new Course());
courseDao.closeDao();
for (Course course : courseList) {
if("教师".equals(MainFrm.userType.getName())){
Teacher teacher = (Teacher)MainFrm.userObject;
if(course.getTeacher_id() == teacher.getId()){
courseComboBox.addItem(course);
}
continue;
}
//执行到这里一定是超级管理员身份
courseComboBox.addItem(course);
}
}
private void setStudentCombox(){
studentComboBox.removeAllItems();
StudentDao studentDao = new StudentDao();
studentList = studentDao.getStudentList(new Student());
studentDao.closeDao();
Course course = (Course)courseComboBox.getSelectedItem();
List<Student> selectedCourseStudentList = getSelectedCourseStudentList(course);
for (Student student : studentList) {
for(Student student2 : selectedCourseStudentList){
if(student.getId() == student2.getId())
studentComboBox.addItem(student);
}
}
}
private List<Student> getSelectedCourseStudentList(Course course){
SelectedCourseDao scDao = new SelectedCourseDao();
List<Student> selectedCourseStudentList = scDao.getSelectedCourseStudentList(course);
return selectedCourseStudentList;
}
}
setTitle("\u9009\u8BFE\u7BA1\u7406");
setBounds(100, 100, 669, 562);
JLabel label = new JLabel("\u5B66\u751F\uFF1A");
label.setIcon(new ImageIcon(ManageSelectedCourseFrm.class.getResource("/images/\u5B66\u751F\u7BA1\u7406.png")));
label.setFont(new Font("微软雅黑", Font.PLAIN, 14));
searchStudentComboBox = new JComboBox();
searchStudentComboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
studentChangeAct(ie);
}
});
JLabel label_1 = new JLabel("\u8BFE\u7A0B\uFF1A");
label_1.setIcon(new ImageIcon(ManageSelectedCourseFrm.class.getResource("/images/\u65B0\u4EBA\u8BFE\u7A0B.png")));
label_1.setFont(new Font("微软雅黑", Font.PLAIN, 14));
searchCourseComboBox = new JComboBox();
JButton confirmSelectedButton = new JButton("\u786E\u8BA4\u9009\u8BFE");
confirmSelectedButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
confirmSelectedCourse(ae);
}
});
confirmSelectedButton.setFont(new Font("微软雅黑", Font.PLAIN, 14));
confirmSelectedButton.setIcon(new ImageIcon(ManageSelectedCourseFrm.class.getResource("/images/\u786E\u8BA4.png")));
JScrollPane scrollPane = new JScrollPane();
JPanel panel = new JPanel();
panel.setBorder(new TitledBorder(null, "\u4FEE\u6539\u9009\u8BFE", TitledBorder.LEADING, TitledBorder.TOP, null, null));
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.TRAILING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(46)
.addComponent(label)
.addGap(2)
.addComponent(searchStudentComboBox, GroupLayout.PREFERRED_SIZE, 124, GroupLayout.PREFERRED_SIZE)
.addGap(20)
.addComponent(label_1)
.addGap(12)
.addComponent(searchCourseComboBox, GroupLayout.PREFERRED_SIZE, 127, GroupLayout.PREFERRED_SIZE)
.addGap(36)
.addComponent(confirmSelectedButton)
.addContainerGap(49, Short.MAX_VALUE))
.addGroup(groupLayout.createSequentialGroup()
.addContainerGap(81, Short.MAX_VALUE)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 493, GroupLayout.PREFERRED_SIZE)
.addGap(77))
.addGroup(Alignment.LEADING, groupLayout.createSequentialGroup()
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(label_2)
.addComponent(editCourseTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_3)
.addComponent(editCourseTeachComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(43)
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(label_4)
.addComponent(editCourseStudentNumTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_5)
.addComponent(editCourseInfoTextArea, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(submitEditButton)
.addComponent(deleteCourseButton))
.addContainerGap(15, Short.MAX_VALUE))
);
panel.setLayout(gl_panel);
courseListTable = new JTable();
courseListTable.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent me) {
selectedCourse(me);
}
});
courseListTable.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
"\u8BFE\u7A0B\u7F16\u53F7", "\u8BFE\u7A0B\u540D\u79F0", "\u6388\u8BFE\u8001\u5E08", "\u8BFE\u7A0B\u6700\u5927\u4EBA\u6570", "\u5DF2\u9009\u4EBA\u6570", "\u8BFE\u7A0B\u4ECB\u7ECD"
}
) {
boolean[] columnEditables = new boolean[] {
false, true, false, false, false, false
};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
courseListTable.getColumnModel().getColumn(3).setPreferredWidth(90);
courseListTable.getColumnModel().getColumn(5).setPreferredWidth(225);
scrollPane.setViewportView(courseListTable);
private void initTitlePanel(){
preYear = new JLabel("<<", JLabel.CENTER);
preMonth = new JLabel("<", JLabel.CENTER);
center = new JLabel("", JLabel.CENTER);
centercontainer = new JLabel("", JLabel.CENTER);
nextMonth = new JLabel(">", JLabel.CENTER);
nextYear = new JLabel(">>", JLabel.CENTER);
preYear.setToolTipText("Last Year");
preMonth.setToolTipText("Last Month");
nextMonth.setToolTipText("Next Month");
nextYear.setToolTipText("Next Year");
preYear.setBorder(BorderFactory.createEmptyBorder(2, 10, 0, 0));
preMonth.setBorder(BorderFactory.createEmptyBorder(2, 15, 0, 0));
nextMonth.setBorder(BorderFactory.createEmptyBorder(2, 0, 0, 15));
nextYear.setBorder(BorderFactory.createEmptyBorder(2, 0, 0, 10));
centercontainer.setLayout(new BorderLayout());
centercontainer.add(preMonth, BorderLayout.WEST);
centercontainer.add(center, BorderLayout.CENTER);
centercontainer.add(nextMonth, BorderLayout.EAST);
this.add(preYear, BorderLayout.WEST);
this.add(centercontainer, BorderLayout.CENTER);
this.add(nextYear, BorderLayout.EAST);
this.setPreferredSize(new Dimension(210, 25));
updateDate();
preYear.addMouseListener(new MyMouseAdapter(preYear, Calendar.YEAR, -1));
preMonth.addMouseListener(new MyMouseAdapter(preMonth, Calendar.MONTH, -1));
nextMonth.addMouseListener(new MyMouseAdapter(nextMonth, Calendar.MONTH, 1));
nextYear.addMouseListener(new MyMouseAdapter(nextYear, Calendar.YEAR, 1));
}
private void updateDate() {
center.setText(calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH) + 1));
}
// listener for control label.
class MyMouseAdapter extends MouseAdapter{
JLabel label;
private int type, value;
public MyMouseAdapter(final JLabel label, final int type, final int value){
this.label = label;
this.type = type;
AttendanceDao attendanceDao = new AttendanceDao();
if(attendanceDao.isAttendanced(attendance)){
JOptionPane.showMessageDialog(this, "已经签到,请勿重复签到!");
return;
}
if(attendanceDao.addAttendance(attendance)){
JOptionPane.showMessageDialog(this, "签到成功!");
}else{
JOptionPane.showMessageDialog(this, "签到失败!");
}
attendanceDao.closeDao();
initTable();
}
private void setCourseCombox(){
CourseDao courseDao = new CourseDao();
courseList = courseDao.getCourseList(new Course());
courseDao.closeDao();
Student student = (Student)MainFrm.userObject;
SelectedCourse sc = new SelectedCourse();
sc.setStudent_id(student.getId());
SelectedCourseDao scDao = new SelectedCourseDao();
List<SelectedCourse> selectedCourseList = scDao.getSelectedCourseList(sc);
for (SelectedCourse selectedCourse : selectedCourseList) {
addSelectedCourseComboBox.addItem(getCourseById(selectedCourse.getCourse_id()));
searchSelectedComboBox.addItem(getCourseById(selectedCourse.getCourse_id()));
}
}
private Course getCourseById(int id){
for (int i = 0; i < courseList.size(); i++) {
if(id == courseList.get(i).getId())return courseList.get(i);
}
return null;
}
private void initTable(){
Student student = (Student)MainFrm.userObject;
Attendance attendance = new Attendance();
attendance.setStudent_id(student.getId());
getAttendancedList(attendance);
}
private void getAttendancedList(Attendance attendance){
Student student = (Student)MainFrm.userObject;
AttendanceDao attendanceDao = new AttendanceDao();
List<Attendance> attendancedList = attendanceDao.getAttendancedList(attendance);
DefaultTableModel dft = (DefaultTableModel) attendancedListTable.getModel();
dft.setRowCount(0);
JMenuItem menuItem_5 = new JMenuItem("\u73ED\u7EA7\u7BA1\u7406");
menuItem_5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ManageClassFrm classManageFrm = new ManageClassFrm();
classManageFrm.setVisible(true);
desktopPane.add(classManageFrm);
}
});
menuItem_5.setIcon(new ImageIcon(MainFrm.class.getResource("")));
manageClassMenu.add(menuItem_5);
manageTeacherMenu = new JMenu("\u6559\u5E08\u7BA1\u7406");
manageTeacherMenu.setIcon(new ImageIcon(MainFrm.class.getResource("")));
menuBar.add(manageTeacherMenu);
addTeacherMenuItem = new JMenuItem("\u6DFB\u52A0\u6559\u5E08");
addTeacherMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
AddTeacherFrm addTeacherFrm = new AddTeacherFrm();
addTeacherFrm.setVisible(true);
desktopPane.add(addTeacherFrm);
}
});
addTeacherMenuItem.setIcon(new ImageIcon(MainFrm.class.getResource("")));
manageTeacherMenu.add(addTeacherMenuItem);
JMenuItem menuItem_8 = new JMenuItem("\u6559\u5E08\u5217\u8868");
menuItem_8.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ManageTeacherFrm manageTeacherFrm = new ManageTeacherFrm();
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) {
label.setForeground(Color.BLACK);
}
}
}
// body panel, include week labels and day labels.
private class BodyPanel extends JPanel {
private static final long serialVersionUID = 5677718768457235447L;
public BodyPanel(){
super(new GridLayout(7, 7));
this.setPreferredSize(new Dimension(210, 140));
initMonthPanel();
}
private void initMonthPanel(){
updateDate();
}
public void updateDate() {
this.removeAll();
lm.clear();
Date temp = calendar.getTime();
Calendar cal = Calendar.getInstance();
cal.setTime(temp);
cal.set(Calendar.DAY_OF_MONTH, 1);
int index = cal.get(Calendar.DAY_OF_WEEK);
if(index > defaultStartDAY) cal.add(Calendar.DAY_OF_MONTH, -index + defaultStartDAY);
else cal.add(Calendar.DAY_OF_MONTH, -index + defaultStartDAY - 7);
for (WeekLabel weekLabel : weekLabels) {
this.add(weekLabel);
}
for (int i = 0; i < 42; i++) {
cal.add(Calendar.DAY_OF_MONTH, 1);
lm.addLabel(new DayLabel(cal));
}
for (DayLabel my : lm.getLabels()) {
this.add(my);
}
}
}
private class FooterPanel extends JPanel {
private static final long serialVersionUID = 8135037333899746736L;
private JLabel dateLabel;
//饼状图显示
String dateString = dateTextField.getText().toString();
if(StringUtil.isEmpty(dateString)){
JOptionPane.showMessageDialog(StatsAttendanceFrm.this, "请选择日期!");
return;
}
//柱状图显示
clearPanel();
Course course = (Course)courseComboBox.getSelectedItem();
drawCircle(getAttendanceNum(course, dateString),course.getSelected_num(),dateString);
}
});
button_2.setIcon(new ImageIcon(StatsAttendanceFrm.class.getResource("/images/\u997C\u72B6\u56FE.png")));
GroupLayout gl_panel_1 = new GroupLayout(panel_1);
gl_panel_1.setHorizontalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addGap(53)
.addComponent(button)
.addGap(47)
.addComponent(button_1)
.addGap(60)
.addComponent(button_2)
.addGap(67))
);
gl_panel_1.setVerticalGroup(
gl_panel_1.createParallelGroup(Alignment.TRAILING)
.addGroup(Alignment.LEADING, gl_panel_1.createSequentialGroup()
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(button)
.addComponent(button_1)
.addComponent(button_2))
.addContainerGap(25, Short.MAX_VALUE))
);
panel_1.setLayout(gl_panel_1);
statsListScrollPane = new JScrollPane();
GroupLayout gl_statsListPanel = new GroupLayout(statsListPanel);
gl_statsListPanel.setHorizontalGroup(
gl_statsListPanel.createParallelGroup(Alignment.LEADING)
.addComponent(statsListScrollPane, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 554, Short.MAX_VALUE)
);
gl_statsListPanel.setVerticalGroup(
gl_statsListPanel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_statsListPanel.createSequentialGroup()
.addContainerGap()
.addComponent(statsListScrollPane, GroupLayout.DEFAULT_SIZE, 411, Short.MAX_VALUE)
.addContainerGap())
public class AddScoreFrm extends JInternalFrame {
private JTextField scoreTextField;
private JComboBox studentComboBox;
private JComboBox courseComboBox;
private List<Course> courseList;
private List<Student> studentList;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
AddScoreFrm frame = new AddScoreFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
StudentDao studentDao = new StudentDao();
if(studentDao.delete(Integer.parseInt(studentListTable.getValueAt(row, 0).toString()))){
JOptionPane.showMessageDialog(this, "删除成功!");
}else{
JOptionPane.showMessageDialog(this, "删除失败!");
}
studentDao.closeDao();
setTable(new Student());
}
protected void selectedTableRow(MouseEvent me) {
// TODO Auto-generated method stub
DefaultTableModel dft = (DefaultTableModel) studentListTable.getModel();
editStudentNameTextField.setText(dft.getValueAt(studentListTable.getSelectedRow(), 1).toString());
editStudentPasswordPasswordField.setText(dft.getValueAt(studentListTable.getSelectedRow(), 4).toString());
String className = dft.getValueAt(studentListTable.getSelectedRow(), 2).toString();
for(int i=0;i<editStudentClassComboBox.getItemCount();i++){
StudentClass sc = (StudentClass)editStudentClassComboBox.getItemAt(i);
if(className.equals(sc.getName())){
editStudentClassComboBox.setSelectedIndex(i);
}
}
String sex = dft.getValueAt(studentListTable.getSelectedRow(), 3).toString();
editSexButtonGroup.clearSelection();
if(sex.equals(editStudentSexManRadioButton.getText()))editStudentSexManRadioButton.setSelected(true);
if(sex.equals(editStudentSexFemalRadioButton.getText()))editStudentSexFemalRadioButton.setSelected(true);
if(sex.equals(editStudentSexUnkonwRadioButton.getText()))editStudentSexUnkonwRadioButton.setSelected(true);
}
protected void searchStudent(ActionEvent ae) {
// TODO Auto-generated method stub
Student student = new Student();
student.setName(serachStudentNameTextField.getText().toString());
StudentClass sc = (StudentClass)searchStudentComboBox.getSelectedItem();
student.setClassId(sc.getId());
setTable(student);
}
private void setTable(Student student){
if("学生".equals(MainFrm.userType.getName())){
Student s = (Student)MainFrm.userObject;
student.setName(s.getName());
}
DefaultTableModel dft = (DefaultTableModel) studentListTable.getModel();
dft.setRowCount(0);
StudentDao studentDao = new StudentDao();
List<Student> studentList = studentDao.getStudentList(student);
for (Student s : studentList) {
Vector v = new Vector();
v.add(s.getId());
v.add(s.getName());
v.add(getClassNameById(s.getClassId()));
v.add(s.getSex());
v.add(s.getPassword());
dft.addRow(v);
Attendance attendance = new Attendance();
attendance.setAttendance_date(dateString);
attendance.setStudent_id(student.getId());
attendance.setCourse_id(course.getId());
AttendanceDao attendanceDao = new AttendanceDao();
if(attendanceDao.isAttendanced(attendance)){
JOptionPane.showMessageDialog(this, "已经签到,请勿重复签到!");
return;
}
if(attendanceDao.addAttendance(attendance)){
JOptionPane.showMessageDialog(this, "签到成功!");
}else{
JOptionPane.showMessageDialog(this, "签到失败!");
}
attendanceDao.closeDao();
initTable();
}
private void setCourseCombox(){
CourseDao courseDao = new CourseDao();
courseList = courseDao.getCourseList(new Course());
courseDao.closeDao();
Student student = (Student)MainFrm.userObject;
SelectedCourse sc = new SelectedCourse();
sc.setStudent_id(student.getId());
SelectedCourseDao scDao = new SelectedCourseDao();
List<SelectedCourse> selectedCourseList = scDao.getSelectedCourseList(sc);
for (SelectedCourse selectedCourse : selectedCourseList) {
addSelectedCourseComboBox.addItem(getCourseById(selectedCourse.getCourse_id()));
searchSelectedComboBox.addItem(getCourseById(selectedCourse.getCourse_id()));
}
}
private Course getCourseById(int id){
for (int i = 0; i < courseList.size(); i++) {
if(id == courseList.get(i).getId())return courseList.get(i);
}
return null;
}
private void initTable(){
Student student = (Student)MainFrm.userObject;
Attendance attendance = new Attendance();
attendance.setStudent_id(student.getId());
getAttendancedList(attendance);