JavaFX 2 TableView: inna fabryka komórek w zależności od danych wewnątrz komórki

Próbuję użyć widoku tabeli do renderowania / edycji par „klucz = wartość”. Tak więc tabela ma mieć dwie kolumny: „klucz” i „wartość”. Klucz jest zwykłym łańcuchem, a wartość może być dowolna. Moim problemem jest to, że typ danych wartości może być różny w zależności od wiersza. Zasadniczo chciałem użyć pól wyboru dla wartości i wyborów boolowskich dla list. Znalazłem sposób na renderowanie całej kolumny tabeli przy użyciu pól wyboru lub opcji przez ustawienie fabryki komórek:

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<>();
    }
});

Ale potrzebuję móc wstawić warunek w oparciu o typ elementu, który będzie renderowany wewnątrz komórki. Innymi słowy, niektóre fabryki komórek na poziomie komórki, a nie na poziomie kolumny. I to ocenia mój stan w czasie renderowania. Nie znalazłem jeszcze żadnego rozwiązania. Może ktoś ma jakieś właściwe techniki do implementacji tego rodzaju renderowania? Może jakiś datagrid innej firmy?

questionAnswers(1)

yourAnswerToTheQuestion