我有一个JTable
哪个模型扩展到AbstractTableModel
. 它有 4 列。前两列保存字符串,后两列保存双精度数据。数据为 Null 时,最后 2 列显示 0.0;
但是当值为null或0时,我想将其显示为空白;当我编辑单元格并输入任何数值时,它将设置带有精度点的双精度数据类型值。
col1 || col2 || col3 || col4
-----------------------------
aaa || a1 || 250.00||
bb || b1 || || 10.5
============================
一个解决方案可能是getValueAt(int rowIndex, int columnIndex)
在 columnIndex 为 3 和 4 时更改方法并返回“”。但这会产生另一个问题。当我编辑单元格时,它返回字符串值并需要将字符串值解析为加倍的setValueAt(Object value, int row, int col)
方法Double.parseDouble(value.toString());
Double
但我认为将字符串值解析为;是不明智或不正确的。我认为setCellEditor
可能是一个很好的解决方案。但我不明白如何将单元格编辑器设置为双数据类型。
mytable.getColumnModel().getColumn(3).setCellEditor(???);
你能给出任何解决方案。