我有自定義表模型,並且還爲jtable中有問題的雙列自定義渲染。我想要在雙列中留下空白單元格的選項。事實上,當我將它留空時,寫入爲空。這個選項在另一個字符串列中是默認的,但是在這裏如果我把它留空,就會拋出一些異常。我如何做到這一點?在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);
}
「有些」異常?發生在特定位置的特定異常被拋出。它包含一個特定的消息,旨在被讀取。如果您不瞭解堆棧跟蹤,至少要顯示它,並附上相應的代碼。 –
由'setValue'引起的'NullPointerException'應該與您的單元格渲染器無關,它與您使用XxxTableModel時的數據/模型/編輯器 – MadProgrammer
有關,與渲染器無關, – mKorbel