📄 scoreinputtable.java
字号:
package panel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;
import java.util.Iterator;
import entity.SortByIdList;
import entity.SubjectScoreInputItem;
/**
* <p>Title: 学生信息管理系统</p>
* <p>Description: 对学生信息、学生成绩进行管理</p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* @author 苏年乐
* @version 1.0
*/
/**
* 一个用于输入某门学科成绩的表格,表格的最后一列(即分数)允许编辑
*/
public class ScoreInputTable extends JTable {
private String []columnNames={"顺序","学号","姓名","分数"};
private DefaultTableModel tableModel;
public ScoreInputTable(){
tableModel = new DefaultTableModel(columnNames, 0) {
public boolean isCellEditable(int row, int col) {
if(col==0||col==1||col==2)return false;//前三列不允许编辑
return true;//表格的最后一列(即分数)允许编辑
}
};
this.setModel(tableModel);
this.setVisible(true);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/**
* 添加一行
* @param str String[]行的内容
*/
public void addRow(String [] str){
this.tableModel.addRow(str);
}
/**
* 设置表格内容
* @param list SortByIdList按学号排列的学生记录列表
*/
public void setContents(SortByIdList list){
int i=0;
Iterator iter = list.iterator();
while (iter.hasNext()) {
SubjectScoreInputItem item = (SubjectScoreInputItem)iter.next();
i++;
String []content={String.valueOf(i),item.getId(),item.getName(),item.getScore()};
this.addRow(content);
}
}
/**
* 获取表格模型
* @return DefaultTableModel
*/
public DefaultTableModel getDefaulttableModel(){
return tableModel;
}
/**
* 当单击确定按钮时,停止单元格编辑,以刷新表格模型中最后编辑的单元格的值
*/
public void stopEditing(){
TableCellEditor editor = getCellEditor();
if(editor!=null)
editor.stopCellEditing();
}
private void jbInit() throws Exception {
this.setFont(new java.awt.Font("Dialog", 0, 12));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -