Hallo
Ein Klassiker (wahrscheinlich). Ich möchte in einer JavaFX Anwendung über einen Menu Punkt Daten aus einer CSV Datei importieren. Die CSV Datei besteht aus ca 20 Zeilen. Nach jeder soll sich eine ListView füllen. Was passiert : Wenn ich den Import starte kann ich nichts anderes unternehmen, da der MenuButton quasi einfriert. Am Ende (nach dem Improt) wird die Liste dann komplett dargestellt. Nun natürlich meine Frage, wie kann man dies etwas eleganter lösen. Hier mal ein Auszug aus dem GUI Handler Code :
Vielen Dank für eure Hinweise
Ein Klassiker (wahrscheinlich). Ich möchte in einer JavaFX Anwendung über einen Menu Punkt Daten aus einer CSV Datei importieren. Die CSV Datei besteht aus ca 20 Zeilen. Nach jeder soll sich eine ListView füllen. Was passiert : Wenn ich den Import starte kann ich nichts anderes unternehmen, da der MenuButton quasi einfriert. Am Ende (nach dem Improt) wird die Liste dann komplett dargestellt. Nun natürlich meine Frage, wie kann man dies etwas eleganter lösen. Hier mal ein Auszug aus dem GUI Handler Code :
Java:
@FXML
private void handleCSVImport() {
Association association = new CommonAssociation("");
Season season = new CommonSeason(LocalDate.of(2017, 01, 01), LocalDate.of(2018, 01, 01));
Task<Void> importerTask1 = new Task<Void>() {
@Override
protected Void call() throws Exception {
CSVImporter importer = new CSVImporter(
new File(getClass().getClassLoader().getResource("Spielplan_Kreisliga_Frauen_Staffel_2.csv").getFile()), association, season);
DataManager.getInstance().importData(importer);
return null;
}
};
Task<Void> importerTask2 = new Task<Void>() {
@Override
protected Void call() throws Exception {
CSVImporter importer2 = new CSVImporter(
new File(getClass().getClassLoader().getResource("Spielplan_Landesliga_Frauen_Staffel_2.csv").getFile()), association,
season);
DataManager.getInstance().importData(importer2);
return null;
}
};
Platform.runLater(importerTask1);
Platform.runLater(importerTask2);
}
Vielen Dank für eure Hinweise