【问题标题】:Removal of rows in table not working properly删除表中的行无法正常工作
【发布时间】:2015-05-23 07:29:13
【问题描述】:

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

【问题讨论】:

    标签: java swing jtable


    【解决方案1】:

    您应该尝试从 r-1 倒数到 0。问题是第一行被删除,将第二行移至该索引。当您增加 i 时,您正在索引该行。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      相关资源
      最近更新 更多