Можно ли включить JButton в JTable?
У меня есть JTable, который хранит результаты запроса к базе данных, насколько это хорошо. Я хочу, чтобы для последнего столбца в каждой таблице был щелчок JButton, который откроет экран редактирования для объекта, представленного в этой строке, и это означает, что кнопка должна знать информацию о первом столбце таблицы из своего собственной строки (идентификатор из базы данных).
Любые советы? Я уже попробовал просто добавить JButtons, но они превратились в Text, когда я попытался запустить его.
Ответы
Ответ 1
В отличие от вышеприведенного учебного пособия, есть способ сделать это без сложной математики позиционирования, пользовательских прослушивателей мыши и пользовательских моделей таблиц. Вместо этого это можно сделать с помощью простого простого пользовательского класса после описанного здесь шаблона:
http://web.archive.org/web/20100623105810/http://ivolo.mit.edu/post/A-Simple-Pattern-for-Embedding-Components-into-a-Swing-JTable.aspx
Ответ 2
Вы также можете найти мой учебник по аналогичной теме (в данном случае с использованием JPanel), а также: Пользовательская ячейка JPanel с JButtons в JTable
Ответ 3
Взгляните на введение Sun в компонент JTable
, в частности раздел Редакторы и рендеринги. В нем обсуждается использование альтернативного CellRenderers
и CellEditors
. Вам нужно будет создать (или взять) a ButtonCellRenderer
и ButtonCellEditor
, а затем применить их к соответствующему столбцу в JTable
. Примеры, найденные в связанных статьях, должны предоставить вам всю необходимую информацию.