JavaFX 2 TableView: разные фабрики ячеек в зависимости от данных внутри ячейки
Я пытаюсь использовать табличное представление для рендеринга / редактирования "ключ = значение " пар. Таким образом, таблица должна иметь два столбца:ключ» а также "значение", Ключ - это обычная строка, а значением может быть что угодно. Моя проблема заключается в том, что тип данных значений может отличаться от строки к строке. По сути, я хотел использовать чекбоксы для логических значений и выбор для списков. Я нашел способ визуализации всего столбца таблицы с помощью флажков или вариантов, установив фабрику ячеек:
final TableColumn valueColumn = new TableColumn("Value");
valueColumn.setCellFactory(new Callback() {
@Override
public TableCell call(final TableColumn column) {
// if (value instanceof Boolean)
return new CheckBoxTableCell();
}
});
Но мне нужно иметь возможность вставлять условие, основанное на типе элемента, который будет отображаться внутри ячейки. Другими словами, некоторые фабрики ячеек находятся на уровне ячеек, а не на уровне столбцов. И это оценивает мое состояние во время рендеринга. У меня нетЯ не нашел еще решения для этого. Может быть, у кого-то есть подходящие методы для реализации такого рода рендеринга? Может быть, какой-то сторонний датагрид?