Это вызывается при первой визуализации таблицы, но должно вызываться во всех ячейках, когда вызывается либо fireTableCellUpdated , либо любой другой метод "fire *".У меня сложилось впечатление, что вы используете класс, который расширяет AbstractTableModel (DefaultTableModel?), И в этот момент эти методы должны запускаться при обновлении определенного значения модели таблицы.
Пример использования пользовательскихячейки рендеринга клеток можно найти на Пример депо .GetTableCellRendererComponent будет вызываться при вводе ячейки для просмотра и при обновлении модели.
Добавление : я только что заметил еще одну часть вашего вопроса, когдаgetTableCellRendererComponent с именем? Это вызывается для каждой видимой ячейки в таблице, которая должна быть отображена.Подумайте об этом так: если вы используете JLabel для рендеринга изнутри, вы должны вернуть JLabel, настроенный для отображения только этой ячейки.Он будет повторно использован в следующей ячейке для рендеринга.Самый простой способ думать об этом - это визуальный шаблон, которым вы хотите, чтобы ваша ячейка выглядела, вы настраиваете его при вызове getTableCellRendererComponent и возвращаете его.Вызывающая среда отображает его в экранном буфере как «изображение» (из-за отсутствия лучшего термина), затем реконфигурируется для следующей ячейки и отображается снова.