Поместить панель прокрутки в обычную ячейку таблицы очень сложно, поскольку для визуализации всех ячеек в таблице используется только один компонент.Может быть, удалить JTable и просто поместить большой набор компонентов в обычный JPanel с разметкой сетки?
Если вы все еще хотите использовать JTable:
Каждая панель прокрутки содержит специальный элемент управления JViewport.Этот элемент управления JViewport фактически выполняет всю работу по прокрутке, а сам JSrollPane размещает его только с полосами прокрутки.Поскольку один видовой экран используется для всех ячеек, вы должны где-то хранить эту позицию прокрутки и восстанавливать ее для каждой ячейки рисования (в методе getCellRenderer).Но JSrollPane нужно много работать над макетом, так что это очень медленное решение.
Может быть наиболее предпочтительным решением: переопределить метод рисования в ячейке JPane, и этот метод рисования должен создавать вложенную графику (Graphics.create ()) с правильным смещением прокрутки.Данные смещения прокрутки должны где-то храниться (например, в модели таблицы).Когда пользователь нажимает на ячейку, JTable начинает редактирование ячейки и устанавливает редактор ячейки.Это должен быть специальный редактор ячеек, содержащий саму панель прокрутки.Пользователь прокрутил этот элемент управления (особой поддержки не требуется) и продолжил редактирование ячейки. Вы должны сохранить положение прокрутки в модели (в функции stopCellEditing ()).Затем ячейка отрисовывает саму краску и в методе рисования получает смещение прокрутки содержимого от модели.Пользователь видит прокручиваемую ячейку.Вы также можете поместить JScrollBar в визуализированную ячейку, чтобы пользователь мог видеть позицию прокрутки (но для этого нужна специальная поддержка).Вы также можете использовать сам JViewport для выполнения всей тяжелой работы, но трудно поддается контролю.Я не вижу никаких проблем с использованием прокрутки в редакторе ячеек, поэтому он должен работать.В любом случае это огромная работа.