是否可以仅使用整数输入单元格?这是我的代码。
@Override
public boolean isCellEditable(int row, int col) {
return col == 3;
}
@Override
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
答案 0 :(得分:0)
是。使用 instanceof 检查对象是否为Integer类型。 (Usage Example)
如果要发送String并且您想检查它是否为整数,请使用
的Integer.parseInt((字符串)值)
当值不可解析或值不是String类型时,它会抛出异常。您可以相应地实施控制。
答案 1 :(得分:0)
简单的解决方案:
@Override
public void setValueAt(Object value, int row, int col){
if(!isIntegerValue(value)) {
throw new Exceoption("not integer value");
}
data[row][col]=value;
fireTableCellUpdated(row, col);
}
private boolean isIntegerValue(Object value) {
return value instanceof Integer;
}
答案 2 :(得分:0)
检查value
(value instanceof Integer
)的类型,如果它不是整数则抛出异常。除非你不想使用某种包装器,否则在编译时没有机会确保value
的类型,而你必须保留方法的标题。