Есть ли другое решение для визуализации JComponent в JTable без использования подхода TableModel?
TableModel используется для хранения данных для данных модели.
JTable реализует представление данных для каждого столбца. Рендерер это просто изображение данных. Вы можете легко визуализировать данные в виде кнопки, однако средство визуализации не отвечает ни на одно событие.
JTable поддерживает редакторы, и именно так вы взаимодействуете с реальными компонентами. Когда вы редактируете обычную ячейку, JTextField помещается в ячейку, так что вы можете ввести данные в ячейку, а затем данные будут сохранены в модели.
Так что, если вы хотите нажать на кнопку, вам нужно использовать кнопку в качестве редактора.
Проверьте Кнопка столбца таблицы для класса, который использует JButton в качестве средства визуализации и редактирования. Затем вы предоставляете классу Action
, который будет вызываться при нажатии кнопки.
Прочтите раздел из учебника по Swing по Основные понятия: средства визуализации и редактор для получения дополнительной информации. Также есть раздел на Using Other Editors
.