У меня есть JTable, и я добавил к нему DefaultTabelModel. Я создал всплывающее меню, которое появляется, когда пользователи щелкают правой кнопкой мыши ячейку в таблице. Одним из пунктов в меню является «Переименовать». Как сделать выбранную ячейку доступной для редактирования при нажатии на элемент «Переименовать»? Я настроил все элементы, и единственная недостающая часть здесь - сделать выбранную ячейку редактируемой.
Метод isCellEditable(row, col)
в DefaultTableModel здесь не помогает, поскольку он устанавливает возможность редактирования ячейки на основе ее положения (то есть строки и столбца) в таблице, а не состояния выбора ячейки.
Я подозреваю, что мне понадобится TableCellEditor, но я не уверен, как его использовать. Я был бы очень признателен за пример кода о том, как это сделать и / или объяснения того, как использовать TableCellEditor для этой цели. Заранее спасибо !!
Соответствующие части моего кода:
class DataListTable extends JTable
mouseReleased():
int row = this.getSelectedRow();
popupmenu.show(this, event.getX(), event.getY());
class RenameDataMenuItem
actionPerformed():
//want to get the (row, col) of the selected cell here and make it editable