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

📄 gradecontrol.java

📁 关于JAVA的代码连接数据库
💻 JAVA
字号:
package GradeManagement;
import GradeManagement.model.CollegeStudent;
import GradeManagement.model.GradeModel;
import GradeManagement.model.Student;
import GradeManagement.model.StudentFactory;
import GradeManagement.model.Undergraduate;
import GradeManagement.ui.CollegeStudentDialog;
import GradeManagement.ui.UndergraduateDialog;
import java.awt.Container;
import javax.swing.*;
import GradeManagement.util.SystemConstants;

public class GradeControl {
  private JFrame owner;
  private GradeModel gradeModel;

  public GradeControl(JFrame mainWindow, GradeModel gradeModel) {
    owner = mainWindow;
    this.gradeModel = gradeModel;
  }

  public boolean setType(String stuType) {
    if( gradeModel.size() > 0 ) return false;
    for(int i = 0; i < SystemConstants.STUDENTTYPE.length; i++)
     if( stuType.equalsIgnoreCase(SystemConstants.STUDENTTYPE[i])){
       gradeModel.setType(i);
       break;
     }
    return true;
  } // 方法setType结束

  public String getType() {
    return(SystemConstants.STUDENTTYPE[gradeModel.getType()]);
  }

   //增加学生
  public void addStudent(Container contaier) {
    if(gradeModel.getType() == SystemConstants.COLLEGESTUDENT) {
      CollegeStudentDialog studentDialog = new CollegeStudentDialog(owner,
                                                             "录入专科生信息");
      studentDialog.setVisible(true);
      if (!studentDialog.isCanceled()) {
        gradeModel.addStudent(studentDialog.getStudent());
      }
      studentDialog.dispose();
    } else if(gradeModel.getType() ==SystemConstants.UNDERGRADUATE ) {
      UndergraduateDialog informationDialog = new UndergraduateDialog(owner,
                                                               "录入本科生信息");
      informationDialog.setVisible(true);
      if (!informationDialog.isCanceled()) {
        gradeModel.addStudent(informationDialog.getStudent());
      }
      informationDialog.dispose();
    }
  } // 方法addStudent结束

  public void modifyStudent(Container contaier) {
    if(gradeModel.size()==0) {
      JOptionPane.showMessageDialog(null, "学生成绩为空,请先录入",
                                           "请先录入", JOptionPane.ERROR_MESSAGE);
      //JOptionPane.showConfirmDialog(null,"学生成绩为空,请先录入");
     return;
    }
    String studentID = JOptionPane.showInputDialog("输入想要修改的学生学号:");
    if(studentID != null || studentID.trim().length() != 0) {
      Student temp = StudentFactory.newStudent(gradeModel.getType());
      temp.setId(studentID.trim());
      Object object = gradeModel.findById(temp);
      if( object != null ) {
        if ( gradeModel.getType() == SystemConstants.COLLEGESTUDENT){
          CollegeStudentDialog studentdialog = new CollegeStudentDialog(owner,
                                                              "修改专科生信息");
          studentdialog.display((CollegeStudent)object);
          studentdialog.setVisible(true);
          if (!studentdialog.isCanceled()) {
            gradeModel.deleteStudent( (Student) object);
            gradeModel.addStudent(studentdialog.getStudent());
          }
          studentdialog.dispose();
        } else if ( gradeModel.getType() == SystemConstants.UNDERGRADUATE){
          UndergraduateDialog informationDialog = new UndergraduateDialog(owner,
              "修改本科生信息");
          informationDialog.display( (Undergraduate) object);
          informationDialog.setVisible(true);
          if (!informationDialog.isCanceled()) {
            gradeModel.deleteStudent( (Student) object);
            gradeModel.addStudent(informationDialog.getStudent());
          }
          informationDialog.dispose();
        }
      } else {
        JOptionPane.showConfirmDialog(null, "该学生不存在");
        return;
      } // end of if(object != null) else
    } else {
      JOptionPane.showConfirmDialog(null, "请输入学号");
    }
  }// 方法modifyStudent结束
  //删除学生

  public void deleteStudent() {
    if(gradeModel.size()==0) {
      JOptionPane.showMessageDialog(null, "学生成绩簿为空,请先录入",
                                               "请先录入", JOptionPane.ERROR_MESSAGE);

      // JOptionPane.showConfirmDialog(null,"学生成绩簿为空,请先录入");
      return;
    }
    String studentID = JOptionPane.showInputDialog("输入想要删除的学生学号:");
    if(studentID != null || studentID.trim().length() != 0) {
      Student temp = StudentFactory.newStudent(gradeModel.getType()) ;
      temp.setId(studentID.trim());
      if(gradeModel.deleteStudent(temp)!=null)
        JOptionPane.showConfirmDialog(null,"您已经成功删除学号为" + studentID + "的学生");
      else
       JOptionPane.showConfirmDialog(null,"不存在该学生,删除无法进行");
    } else {
      JOptionPane.showConfirmDialog(null, "请输入学号,否则删除无法进行");
    }
  } //方法deleteStudent结束

  // 多线程排序
  public void sort() {  //多线程排序
    if (gradeModel.size()==0) {
      JOptionPane.showMessageDialog(null, "学生成绩簿为空,请先录入",
                                    "请先录入", JOptionPane.ERROR_MESSAGE);

       return;
    }
    new Thread(new Runnable() {
       public void run() {
         gradeModel.sort();
       }
    } ,"Sort" ).start();
  } // 方法sort结束

  public void compute(boolean computFlag) {
    if(gradeModel.size()==0) {
      JOptionPane.showMessageDialog(null, "学生成绩簿为空,请先录入",
                                         "请先录入", JOptionPane.ERROR_MESSAGE);

      // JOptionPane.showConfirmDialog(null,"学生成绩为空,请先录入");
      return;
    }
    gradeModel.setComputFlag(computFlag);
  } // 方法compute结束
} // 类GradeControl结束

⌨️ 快捷键说明

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