У меня была похожая «проблема».
TablePosition pos = tableView.getSelectionModel().getSelectedCells().get(0);
int row = pos.getRow();
int col = pos.getColumn();
TableColumn column = pos.getTableColumn();
Object o = column.getCellData(row); //getting the Value from the specific Cell
Я использовал этот метод после двойного щелчка по ячейке. Вы должны изменить это решение так, чтобы оно соответствовало вашей проблеме, но оно должно помочь вам.
Для редактирования конкретной ячейки я использовал метод setCellFactory
из класса TableColumn.
column.setCellFactory(factory -> new TableCell<ObservableList<Object>, Object>() {
@Override
protected void updateItem(Object item, boolean empty) {
//Do something
}
});