Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top