我有一个JTable,它是用Netbeans构建的,其列设置为布尔值。要获取已检查的行,用户必须单击“重新排序”'检查表以查看选择了哪些行的按钮。column settings
根据是否检查JCheckBox,应该找到股票ID的代码如下:
for(int i=0; i<jTable2.getModel().getRowCount(); i++){
boolean check = (Boolean) jTable2.getModel().getValueAt(i, 4);
if(check){
Object o = (Object)model2.getValueAt(i, 0);
int stockID = Integer.parseInt(o.toString());
System.out.println(stockID);
}
}
请注意,model2是jTable2.getModel()。 上面的代码抛出NullPointerException。 如果我打印出来
jTable2.getModel().getRowCount()
我会得到准确的行数。 如果我打印出来
boolean check = (Boolean) jTable2.getModel().getValueAt(2, 4)
我将获得准确的布尔值。但是当我在for循环中使用代码时,它会引发异常。