删除表中的行不能正常工作

时间:2015-05-22 23:18:30

标签: java swing jtable

我正在尝试在单击按钮时删除表格内部的数据行。我的当前代码在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中输入不同数据的按钮。

1 个答案:

答案 0 :(得分:2)

你应该尝试从r-1向后倒数。问题是第一行被删除,第二行转移到那个索引。当你递增i时,你正在索引该行。

...
for (int i = r-1 ; i >= 0 ; i--) {
...