JTable实现Integer和Double数据类型的列,只能输入符合标准的值
如下图,该列的数据类型为Integer类,则不能输入Double和字符串类型的内容

如何设定表格的列的类型?
public DefaultTableModel tableModelInstance() {
return new DefaultTableModel() {
private static final long serialVersionUID = 1L;
@Override
//返回的数据类型是什么,代表该列是什么类型
// 重写该方法可使排序根据class的类型排序
public Class<?> getColumnClass(int column) {
if ((column >= 0) && (column < getColumnCount())) {
if (getRowCount() > 1) {
Object valueAt = getValueAt(0, column);
return valueAt == null ? Object.class : valueAt.getClass();
}
}
return super.getColumnClass(column);
}
};
}
tableModel = tableModelInstance();
for (int i = 0; i < columnName.size(); i++) {
String s = columnName.get(i);
tableModel.addColumn(s);
columnMap.put(s, i);
}
table.setModel(tableModel);

浙公网安备 33010602011771号