У меня есть JTable в моем коде.
И всякий раз, когда происходит обновление любого конкретного столбца в строке (в основном ячейки), я обновляю соответствующий значок в этой ячейке.
поэтому я в основном следую этим шагам.
Шаг 1: Я обновляю модель.
Шаг 2 2: Я звоню
tableModel.fireTableCellUpdated(tableRowIndex, tableColumnIndex);
Это прекрасно работает.
Но проблема возникает, когда я перетаскиваю столбцы из одной позиции в другую в заголовке таблицы. И всякий раз, когда происходит обновление какой-либо конкретной ячейки, я выполняю те же шаги, что и упоминал ранее.
Проблема: значок не отображается нарисованным. Но если я наведу фокус на верхнюю часть этой строки в таблице, он рисует значок.
Наблюдение: я вижу, что tableRowIndex и tableColumnIndex верны после перетаскивания столбцов.
Просто для проверки я добавил этот кусок кода в сценарий проблемы.
examTable.repaint(examTable.getCellRect(examTableRowIndex, examTableColumnIndex, true));
Это правильно перекрашивает ячейку.
Но это не правильное решение, я думаю. Я попытался отладить код, но не нашел много информации о проблеме.