我创建了一个 JTable,最后(第六)列是带有复选框的“选择”列。通过重写 getColumnClass 方法以返回 Boolean.class 来添加复选框。
DefaultTableModel dtm = new DefaultTableModel(data, header){
@Override
public Class<?> getColumnClass(int col) {
if(col == 5){
return Boolean.class;
}
return super.getColumnClass(col);
}
};
现在我必须使用这些复选框选择一些行,并将这些选定行中的一些值添加到数据库中。这是我使用的代码。
DefaultTableModel model = (DefaultTableModel) tblInvoiceList.getModel();
for(int i=0; i<model.getRowCount();i++) {
if ((Boolean)model.getValueAt(i, 5))
paydao.updateInvoiceWithPayment(model.getValueAt(i, 0).toString());
}
当我循环时,选中的复选框返回 true。未经检查的会抛出 NullPointerException。异常发生在 (Boolean)model.getValueAt(i, 5) 部分。如何让未勾选的返回false?
最佳答案
关于java - JTable 中未选中的复选框会给出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25956597/