else if (e.getSource() == del)
{
//不能这样写
// int[] row = table.getSelectedRows();//获取选中的行号
// for(int a:row) tableModel.removeRow(a);
/*
* 这段代码有点技术含量,因为每删除一行,后面行的序号都会减一,总行数也会变化,所以要实时获取行数,选中的删除后指针不用加一,因为后面的会替上来,如果不是选中的,指针就要加一
*/
int i = 0;
int sum = tableModel.getRowCount();
while(i < sum)
{
if ( (boolean) tableModel.getValueAt(i, 0) == true)
{
tableModel.removeRow(i);
}
else
{
i++;
}
sum = tableModel.getRowCount();
}
}
全部删除
while(tableModel.getRowCount()>0)
{
tableModel.removeRow(0);
}