Ich teste mich selbst mit einem einfachen CSV-Viewer mit JavaFX und ich bin beim Auffüllen der Tabelle Daten stecken. Ich erstelle die Spalten dynamisch, aber die Datenwerte sind nicht verfügbar. Ich suchte im Internet und fand einige Wege, aber alle Möglichkeiten enthalten eine ObservableList mit einer benutzerdefinierten Klasse (einschließlich Get/Set), die in einem CSV-Viewer dynamisch sein muss (Die CSV kann beliebig viele Spalten haben, und das bedeutet eine beliebige Anzahl von Datenwerte).JavaFX TableView dynamische Spalte und Datenwerte
Beispiel:
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!
}
Vielen Dank für Ihre Antwort, aber .. das obige Beispiel sagt: Kann werfen java.io.FileReader nicht org .javafxdata.datasources.io.DataSourceReader. Die heruntergeladene DataFX-Bibliothek (v0.0.6 - neueste Version) enthält keine eigene Implementierung von FileReader, aber NetBeans schlug org.javafxdata.datasources.io.FileSource vor und es funktioniert (alle Werte werden analysiert und in CSVDataSource gespeichert), aber die CSVDataSource nicht enthält die Spalten (ds1.getColumns() gibt ein Array der Länge 0 zurück). Es wäre eine schnelle Lösung, aber immer noch versuchen, einen Standard JavaFx Weg zu finden .. – AlenBer
@AlenBer bearbeitet DataFx-Code, der jetzt gut funktioniert :), und auch Standard JavaFX Weg Code :) – invariant
Hallo @invariant, könnten Sie auschecken mein Post? Ich folge Ihren Standard JavaFX Weg, aber immer noch einige Probleme http://stackoverflow.com/questions/22129559/insert-dynamic-json-data-into-javafx2-tableview – Arvin