Удаление нескольких элементов из Java JTable

Итак, у меня есть модель таблицы по умолчанию, которая заполняется созданным мной объектом. Одним из объектов является Name с тремя другими строковыми свойствами объекта. У меня есть кнопка, которая выполняет действие, теперь, когда эта кнопка выполняет это действие, мне нужно перебрать все элементы в этой модели 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);
                    }
                }

person yams    schedule 13.12.2012    source источник


Ответы (1)


Если вы хотите найти значение в каждом столбце, а затем удалить всю строку, если значение найдено, см. ниже.

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--;
        }
    }
}
person M3SSYM4RV1N    schedule 13.12.2012