Как я могу сделать что-то, прежде чем setValueAt будет выполняться в моем AbstractTableModel? - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть JTable в моем классе Клиента. Эта JTable получает модель myModel, которая расширяется от AbstractTableModel. Мне нужно контролировать, когда setValueAt выполняется. Прямо сейчас, если я щелкаю (изменяемый) ряд на моем JTable, он автоматически устанавливает setValueAt при вводе. Я хочу только выполнить SetValueAt ЕСЛИ я могу обновить базу данных SQL с изменением в этой строке таблицы SQL. Так что если SQL выдает ошибку при обновлении, то я хочу, чтобы setValueAt не происходило ...

Как бы я это сделал из экземпляра Client? Как бы я слушал, когда он хочет запустить setValueAt?

1 Ответ

0 голосов
/ 20 апреля 2020

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

new myModel() {
    @Override
    public void setValueAt(Object aValue, rowIndex, columnIndex) {
         //query executed, and then we can update
    }
}
...