📄 grademodel.java
字号:
package GradeManagement.model;
import GradeManagement.util.SystemConstants;
import java.util.Observable;
public class GradeModel extends Observable {
private StudentRoster students; // 声明学生成绩簿
private boolean computFlag = false; // 成绩计算标志
private int type ; // 学生类型
private String disTitle = "";
public GradeModel() {
students = new StudentRoster();
setType(0);
}
/*********属性相应的get/set方法*************/
public boolean getComputFlag() {
return this.computFlag;
}
public int getType() {
return this.type;
}
public String getDisTitle() {
this.disTitle = "学号" + "\t" + "姓名" + "\t";
if( this.type == SystemConstants.COLLEGESTUDENT) {
for(int i = 0; i < SystemConstants.COLSCOURSES.length; i++) {
this.disTitle += SystemConstants.COLSCOURSES[i].getName() + "\t";
} // for结束
} else {
for(int i = 0;i < SystemConstants.UNDGRSCOURSES.length; i++) {
this.disTitle += SystemConstants.UNDGRSCOURSES[i].getName() + "\t";
} // for结束
this.disTitle += "论文成绩" + "\t"+ "论文标题" + "\t";
}
this.disTitle += "总成绩 " + "\t" + " 平均成绩 ";
return this.disTitle;
} // 方法getDisTitle()结束
public void setComputFlag(boolean computFlag) {
this.computFlag = computFlag;
fireModelChanged();
}
public void setType( int type) {
this.type = type;
fireModelChanged();
} // 方法setType结束
public void addStudent( Student student ) {
students.addStudent( student );
fireModelChanged();
}
public void setModel(GradeModel model) {
for(int i=0; i<model.size();i++) {
students.addStudent(model.getIndex(i));
}
setType(model.getType());
fireModelChanged();
}
// 排序
public void sort() {
students.sort();
fireModelChanged();
}
public Object findById(Student student) {
return students.findById(student);
}
public Object deleteStudent(Student student) {
Object temp = students.deleteStudent( student );
if(temp!=null)
fireModelChanged();
return temp;
}
public void clear() {
students.clearRoster();
fireModelChanged();
}
private void fireModelChanged() {
setChanged(); // 设置变更标志
notifyObservers(); // 通知视图,模型数据已变
}
public int size() {
return students.size();
}
public Object getIndex(int index) {
return students.getIndex(index);
}
// 写文件
public boolean writeToFile() {
return students.writeRecords();
}
} // 类GradeModel结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -