2015-05-22 89 views
0

我試圖刪除是我的表的內部單擊按鈕時的數據行。我現在的代碼在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}); 
    }  
}  

5行JTable中所示。再次按下按鈕後,將刪除兩行數據。如果我按下按鈕,並且第二次留下1行數據。第三次按下按鈕,所有行將被刪除,下一個按鈕將按下5行數據。理想情況下,我希望此按鈕始終清除行字段,然後添加插入的數據。使每個按鈕顯示新的數據,因爲我有三個按鈕具有完全相同的代碼,但在jTable中輸入不同的數據。

回答

2

你應該嘗試從r-1往回數爲0的問題是,在第一行被移除時,第二行轉移到該索引。當你增加i時,你正在索引該行。

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

謝謝你爲什麼我的代碼不工作的解釋! – user3622460