Я хочу знать, что представляет собой таблица TableColumn CellValueFactory.Я знаю, что можно получить CellFactory по умолчанию с помощью TableColumn.DEFAULT_CELL_FACTORY, есть ли способ получить доступ к CellValueFactory таким же образом?
Я спрашиваю, потому что у меня есть функция, которая определяет собственный CellValueFactory для TableColumnЭто позволяет мне заполнить столбец значениями, когда пользователь нажимает кнопку.Но затем этот же столбец можно позже очистить и добавить значения, введя значение и нажав клавишу ввода.
Я полагаю, что добавление значений в столбец с помощью набора текста работает только тогда, когда CellValueFactory является значением по умолчанию.
Я пытался подключить его к своей модели, но я не хочу, чтобы он работал.
Мой пользовательский CellValueFactory выглядит следующим образом:
tableColumn.setCellValueFactory(new Callback<CellDataFeatures<List<String>, String>, ObservableValue<String>>() {
@Override
public ObservableValue<String> call(CellDataFeatures<List<String>, String> data) {
return new ReadOnlyStringWrapper(data.getValue().get(0));
}
});
Это работает какПредполагается, однако, когда я заполняю TableColumn с помощью этого CellValueFactory, а затем нажимаю кнопку, которая очищает таблицу, добавляет количество строк (позволяет пользователю вводить значения), строки создаются и добавляются в таблицу, но не отображаются.
Однако строки отображаются правильно, если пользователь нажимает кнопку для ввода значений в первую очередь (вместо автоматического заполнения строк в первую очередь).Я определил CellFactory, когда эта кнопка нажата, но не CellValueFactory.
Я надеюсь, что если я смогу сбросить CellValueFactory при нажатии кнопки, таблица будет работать так, как задумано.