Чтобы редактировать TableCell
, необходимо выполнить 3 условия:
- Содержимое
TableView
доступно для редактирования
- Содержимое
TableColumn
доступно для редактирования
- Сама ячейка доступна для редактирования
В вашем случае 3-е условие не выполняется, так как ячейки, созданные по умолчанию cellFactory
, недоступны для редактирования. Вам нужно назначить cellFactory
, который позволяет редактировать. Кроме того, обратите внимание, что если cellValueFactory
не возвращает объект, реализующий WritableValue
, вам также необходимо использовать обработчик onEditCommit
для хранения данных в элементе:
colText.setCellFactory(TextFieldTableCell.forTableColumn());
colText.setOnEditCommit(evt -> evt.getRowValue().setText(evt.getNewValue()));