我正在尝试在单击按钮时删除表格内部的数据行。我的当前代码在1-3次按下后删除行内容,但我希望它能清除内容,然后在一次按下添加新内容。
以下是我正在使用的代码......
private void newTasksActionPerformed(java.awt.event.ActionEvent evt) {
int sizeOfLL = taskLL.size();
DefaultTableModel textArea = (DefaultTableModel)jTable1.getModel();
int r = textArea.getRowCount();
for(int i = 0; i < r; i++) {
textArea.removeRow(i);
}
for (int i =0; i < sizeOfLL; i++) {
textArea.addRow(new Object[]{taskLL.get(i).index, taskLL.get(i).taskName, taskLL.get(i).taskDes, taskLL.get(i).taskStatus});
}
}
jTable中显示了5行数据。再次按下该按钮后,将删除两行数据。如果我按下按钮,第二次剩下1行数据。第三次按下按钮将删除所有行,按下按钮按下5行数据。理想情况下,我希望此按钮始终清除行字段,然后添加要插入的数据。按下每个按钮显示新数据,因为我有三个具有完全相同代码但在jTable中输入不同数据的按钮。
答案 0 :(得分:2)
你应该尝试从r-1向后倒数。问题是第一行被删除,第二行转移到那个索引。当你递增i时,你正在索引该行。
...
for (int i = r-1 ; i >= 0 ; i--) {
...