Как вы говорите, базовый механизм рендеринга JTable не поддерживает это, CellRenderer используется для рисования ячейки (или части ячейки, если необходимо) и не позволяет перерисовывать, он рисует по требованию.
Метод 1 - JLayeredPane
Если бы мне нужно было сделать это, я бы использовал JLayeredPane , чтобы рисовать мои анимированные средства визуализации поверх JTable.
Однако я думаю, что это будет много работы. Вам нужно было бы многое понять правильно, особенно если бы вы имели это в пределах полосы прокрутки. Ваша иерархия сдерживания будет выглядеть примерно так:
JScrollPane -> (Viewport) JLayeredPane -> JTable & JPanel (прозрачный, с анимацией)
У вас также будет непростая задача по созданию нашей панели для анимации, вам потребуется либо собственный менеджер макета для зеркального отображения ширины столбцов JTable, либо использование чего-то вроде GridLayout. Выполнимо, но много работы.
Method2 - пользовательский CellRenderer и перерисовка в Swing Timer
Единственная альтернатива - вести список ячеек, которые были анимированы, а затем поддерживать таймер поворота, который неоднократно вызывал перерисовку. После этого у вас будет пользовательский CellRenderer, который будет рисовать анимацию, причем рисование меняется со временем. Это может быть проще, но получение правильной частоты кадров без использования ЦП и получение обновлений перерисовок для соответствия обновлениям анимации может привести к некоторым странным визуальным эффектам