Как работают CellEditors?

У меня проблемы с пониманием работы CellEditors в Java.

У меня есть JTable с моделью (расширяет AbstractTableModel). JTable имеет свой CellRenderer и CellEditor. CellEditor переопределяет только isCellEditable() (добавлено одно условие).

Как изменения, которые я сделал в одной ячейке, соответствуют модели? Должна ли модель реализовывать CellEditorListener и реагировать на stopEditing()?

Я прочитал, что изменения будут автоматически сохранены в модели. Это правда? Если да, то как это работает? Должен ли я реагировать на tableChanged() тогда?

Пожалуйста, объясните, каким образом изменились данные и на каких этапах я должен что-то сделать.

Большое спасибо!

1 ответ

Решение

Изменения применяются к модели через TableModel "s.setValueAt() метод. JTable сама заботится о получении значения, возвращаемого CellEditor, и передаче его в TableModel.

Другие вопросы по тегам