2013-03-02 2 views
0

У меня проблемы с пониманием того, как CellEditors работают на Java.Как работают CellEditors?

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

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

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

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

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

ответ

3

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

+0

Спасибо! Вызывается setValueAt(). Это очень помогает. – user1894572