Как остановить редактирование ячейки после удаления строки в JTable - PullRequest
0 голосов
/ 24 декабря 2011

В моей JTable при добавлении новой строки автоматически выбирается ячейка "JTextString" для редактирования.Если новое значение, введенное в ячейку, не проходит проверку, эта новая строка должна быть удалена.

В моем экземпляре DefacultCellEditor у меня есть:

        @Override
        public boolean stopCellEditing(){
            /* do something */

                if (/* failed validation */) {
                    super.stopCellEditing();
                    myTable.getSelectionModel().clearSelection();
                    myTable.removeLastRow();
                    return true;
                }
           ....
         }

На самом деле, когда проверка завершается неудачно,последняя строка удаляется:

    model.removeRow(model.getRowCount() - 1);

, но редактируется та же самая ячейка в приведенной выше строке.Как я могу остановить редактирование и оставить все строки невыбранными?

1 Ответ

0 голосов
/ 24 декабря 2011

Было бы полезно, если бы вы опубликовали пример кода, который можно запустить напрямую.Так как вы этого не сделали, я не проверял это - я понятия не имею, какие другие изменения вы внесли в вашу табличную модель.

super.cancelCellEditing();

и удалите строку с помощью clearSelection.

...