Dynamiczna kolumna JavaFX TableView i wartości danych

Testuję się za pomocą prostej przeglądarki CSV przy użyciu JavaFX i utknąłem przy wypełnianiu danych tabeli. Tworzę kolumny dynamicznie, ale wartości danych są bezużyteczne. Przeszukałem sieć i znalazłem kilka sposobów, ale wszystkie sposoby zawierają listę ObservableList z niestandardową klasą (w tym get / set), która w przeglądarce CSV musi być dynamiczna (CSV może mieć dowolną liczbę kolumn, a to oznacza dowolną liczbę wartości danych).

Przykład:

List<String> columns;
List<List<String>> data;

/* Fills 'columns' and 'data' */
parseCSV("C:/list.csv");

int columnIndex = 0;
TableColumn [] tableColumns = new TableColumn[columns.size()];        
for(String columName : columns) {
    tableColumns[columnIndex++] = new TableColumn(columName);
}
table1.getColumns().addAll(tableColumns);

for(List<String> dataList : data) {
    table1.setItems(dataList); // Requires an ObservableList!
}

questionAnswers(1)

yourAnswerToTheQuestion