Взаимоисключающие редакторы ячеек в JTable
-
12-09-2019 - |
Вопрос
В настоящее время у меня есть проблема: редактирование содержимого одной ячейки в JTable изменяет содержимое другой;два столбца являются взаимоисключающими.Это оба флажка.
На данный момент, если я изменяю одну ячейку, она обновляется только после перерисовки другой.Таким образом, обе ячейки в строке могут отображаться как выбранные одновременно.Эту проблему можно решить, вызвав updateUI(), но это медленно и в целом не лучшая идея.
Есть ли у кого-нибудь какие-нибудь советы или предложения?
Решение
Похоже, вам следует использовать TableModelListener для прослушивания изменений в TableModel.При изменении флажка вы получите событие обновления, а затем обновите другой флажок, используя model.setValueAt(...).Модель отвечает за уведомление представления о необходимости перерисовки ячейки.