Что такое CellValueFactory по умолчанию для TableColumn? - PullRequest
0 голосов
/ 24 марта 2019

Я хочу знать, что представляет собой таблица 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 при нажатии кнопки, таблица будет работать так, как задумано.

...