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, которое дает возможность ввода значения.

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


Ответы (0 шт):