我在 jtable 中有问题的双列有自定义表模型和自定义渲染。我希望可以选择在双列中保留空白单元格。事实上,当我把它留空时,写作是空的。默认情况下,此选项位于另一个字符串列中,但如果我将其设为空白,则会引发一些异常。我怎么能做到?
编辑:这是错误
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at table.MyTableModel.setValueAt(MyTableModel.java:62)
at javax.swing.JTable.setValueAt(JTable.java:2710)
at javax.swing.JTable.editingStopped(JTable.java:4712)
这是 MyTaleModel 中的代码
public void setValueAt(Object value, int row, int col) {
data.get(row)[col] = value;
fireTableCellUpdated(row, col);
}
这是数据: static ArrayList<Object[]> data
这是列渲染器
public class ColumnRenderer extends DefaultTableCellRenderer {
int precision = 0;
Number numberValue;
NumberFormat nf;
public ColumnRenderer(int p_precision) {
super();
setHorizontalAlignment(SwingConstants.RIGHT);
precision = p_precision;
nf = NumberFormat.getNumberInstance();
nf.setMinimumFractionDigits(p_precision);
nf.setMaximumFractionDigits(p_precision);
}
@Override
public void setValue(Object value) {
if ((value != null) && (value instanceof Number)) {
numberValue = (Number) value;
value = nf.format(numberValue.doubleValue());
}
super.setValue(value);
}