java - 如何根据行中的某些文本删除 JTable 中的行

标签 java swing jtable

我的代码应该比较两个 JTable 并在其中一个单元格中搜索特定单词。 如果找到该词,则应删除该行。 问题是,并非所有行都被删除。用户必须按几次删除按钮才能删除所有行。

 public class DeleteCleareadTable1Rows extends Thread {

    @Override
    public void run() {
        for (int i = 0; i < table1.getRowCount(); i++) {
            int modelIndex = table1.convertRowIndexToModel(i);
            String status = table1.getModel().getValueAt(modelIndex, 9).toString();
            if (status.equalsIgnoreCase("Cleared")) {
                deleteRow(table1, table1Model, i);

            }
        }
    }
}


public static void deleteRow(JTable table, DefaultTableModel model, int rowNo) {
    try{
    model.removeRow(rowNo);
    model.fireTableDataChanged();
    table.setModel(model);
    }catch(ArrayIndexOutOfBoundsException |NullPointerException a){}
}

最佳答案

换个方式试试

@Override
public void run() {
    for (int i = table1.getRowCount()-1; i >= 0; i--) {
        int modelIndex = table1.convertRowIndexToModel(i);
        String status = table1.getModel().getValueAt(modelIndex, 9).toString();
        if (status.equalsIgnoreCase("Cleared")) {
            deleteRow(table1, table1Model, i);

        }
    }
}

关于java - 如何根据行中的某些文本删除 JTable 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31000164/

相关文章:

java - 玩家对象向一个方向移动但转向不同的方向

java - 突出显示 JTable 的列标题

java - 五位数字字符串的正则表达式

java - 调整 JMenuItem 的大小?

java - 根据数据库值动态加载jTable中的Image

java - 如何在 Swing 中单击时放置图像?

java - 替换 JTable 的组合框编辑器

java - 如何在我的 javadoc 示例中编写 block 注释?

java - 为什么 Executor 接口(interface)没有一个以 Callable 为参数的方法?

Java自动填充ArrayList,寻找更好的选择