Java Как изменить значение строки в tableView в javafx
У меня есть таблица tableView с тремя колонками. Таблицу я создаю с помощью такого кода:
//Получить контроллер окна main
ControllerShowGUI controller = this.loader.getController();
//Получить tableViewFileName
this.tableView1 = controller.getTableView1();
//Получить колонки таблицы
ObservableList<TableColumn<HashMap<String, String>, String>> record = tableView1.getColumns();
//В колонку добавить MapValueFactory
TableColumn<HashMap<String, String>, String> column1 = record.get(0);
MapValueFactory map1 = new MapValueFactory<>("mes");
column1.setCellValueFactory(map1);
//В колонку добавить MapValueFactory
TableColumn<HashMap<String, String>, String> column2 = record.get(1);
MapValueFactory map2 = new MapValueFactory<>("type");
column2.setCellValueFactory(map2);
//В колонку добавить MapValueFactory
TableColumn<HashMap<String, String>, String> column3 = record.get(2);
MapValueFactory map3 = new MapValueFactory<>("language");
column3.setCellValueFactory(map3);
//Для заполнения tableView1
ObservableList<Map<String, Object>> list_rows = this.tableView1.getItems();
//Сделать пустые строки
for (int i = 1; i <= 3; i++) {
index++;
//Создать новую строчку
Map<String, Object> new_row = new HashMap<>();
new_row.put("mes", " ");
new_row.put("type", " ");
new_row.put("language", " ");
//Добавить новую строчку в общий список
list_rows.add(index, new_row);
}
tableView1.setEditable(true);
column1.setEditable(true);
column2.setEditable(true);
column3.setEditable(true);
Я устанавливаю свойство Editable для таблицы и колонок, и предполагаю, что можно будет изменять значение в строке. Например, я нажимаю double-click левой мыши на строку и хочу с клавиатуры ввести значение и чтобы потом оно осталось с этой ячейке в строке. Подобное можно увидеть, если работать с текстовым полем TextField, которое дает возможность ввода значения.
Но при этом не нашел подходящего решения, которое может решать такую проблему, подскажите пожалуйста как можно реализовать что-то подобное. Заранее спасибо.