因此,我有一个默认的表模型,该模型由我创建的对象填充。对象之一是名称,具有对象的其他三个字符串属性。我有一个执行操作的按钮,现在当此按钮执行此操作时,我需要遍历该DefaultTableModel中的所有项目,并删除列0中与所选对象具有相同值的所有项目。所以我的问题是,这只会删除具有该值(名称)的一项。我需要此代码来删除所有包含与列0相同的字符串值的项目。

                int nRow = suggestedAcTableModel.getRowCount() - 1;

                for (int i = 0; i < nRow; i++) {

                    String acNameStr = suggestedAcTableModel.getValueAt(i, 0).toString();

                    if (acNameStr.equals(acName)) {

                        suggestedAcTableModel.removeRow(i);
                    }
                }

最佳答案

如果要在每个列中搜索该值,然后在找到该值的情况下删除整行,请参见下文。

for (int i = 0; i < suggestedAcTableModel.getRowCount(); i++) {
    for(int j = 0; j < suggestedAcTableModel.getColumnCount(); j++){
        String acNameStr = suggestedAcTableModel.getValueAt(i, j).toString();
        if (acNameStr.equals(acName)) {
           suggestedAcTableModel.removeRow(i);
           j = suggestedAcTableModel.getColumnCount();
           i--;
        }
    }
}

10-01 20:13