Можно ли включить JButton в JTable? - PullRequest
11 голосов
/ 19 апреля 2009

У меня есть JTable, в котором хранятся результаты запроса к базе данных, пока все хорошо. Я хочу, чтобы в последнем столбце каждой таблицы был кликабельный JButton, который откроет экран редактирования для объекта, представленного в этой строке, и это означает, что кнопка должна будет знать детали первого столбца в таблице из собственная строка (идентификатор из базы данных).

Любой совет? Я уже пытался просто добавить JButtons, но они превратились в текст, когда я пытался его запустить.

Ответы [ 3 ]

5 голосов
/ 02 июня 2010

В отличие от приведенного выше руководства, есть способ сделать это без сложной математики позиционирования, пользовательских приемников мыши и пользовательских таблиц. Вместо этого это можно сделать с помощью одного простого пользовательского класса, следуя описанному здесь шаблону:

http://web.archive.org/web/20100623105810/http://ivolo.mit.edu/post/A-Simple-Pattern-for-Embedding-Components-into-a-Swing-JTable.aspx

3 голосов
/ 20 августа 2011

Вам также может пригодиться мое руководство по аналогичной теме (в данном случае с использованием JPanel): Пользовательская ячейка JPanel с JButtons в JTable

1 голос
/ 19 апреля 2009

Взгляните на введение Sun в компонент JTable, в частности, раздел о Редакторы и средства визуализации . Обсуждается использование альтернативы CellRenderers и CellEditors. Вам нужно создать (или одолжить) ButtonCellRenderer и ButtonCellEditor, а затем применить их к соответствующему столбцу в вашем JTable. Примеры, приведенные в связанных статьях, должны дать вам всю необходимую информацию.

...