JavaFX 2 TableView: разные фабрики ячеек в зависимости от данных внутри ячейки

Я пытаюсь использовать табличное представление для рендеринга / редактирования пар "ключ = значение". Таким образом, таблица должна иметь два столбца: «ключ» и «значение». Ключ - это обычная строка, а значением может быть что угодно. Моя проблема заключается в том, что тип данных значений может отличаться от строки к строке. По сути, я хотел использовать чекбоксы для логических значений и выбор для списков. Я нашел способ визуализации всего столбца таблицы с помощью флажков или вариантов, установив фабрику ячеек:

final TableColumn<FieldValue, Field> valueColumn = new TableColumn<>("Value");
valueColumn.setCellFactory(new Callback<TableColumn<FieldValue, Field>, TableCell<FieldValue, Field>>() {
    @Override
    public TableCell<FieldValue, Field> call(final TableColumn<FieldValue, Field> column) {
        // if (value instanceof Boolean)
        return new CheckBoxTableCell<>();
    }
});

Но мне нужно иметь возможность вставлять условие, основанное на типе элемента, который будет отображаться внутри ячейки. Другими словами, некоторые фабрики ячеек находятся на уровне ячеек, а не на уровне столбцов. И это оценивает мое состояние во время рендеринга. Я не нашел еще никакого решения для этого. Может быть, у кого-то есть подходящие методы для реализации такого рода рендеринга? Может быть, какой-то сторонний датагрид?

Ответы на вопрос(1)

Ваш ответ на вопрос