Ich habe mal ne Frage bzüglich Observed Liste welche Dateien als Typ "File" enthält. Wenn ich mit Dateien arbeite liegt es wohl nahe mit dem File-Typ zu arbeiten.
Die Dateien sollen in der ListView nur als Dateien angezeigt werden und mal mit oder ohne Dateiendungen welches im Einstellungenfenster über eine checkbox funktioniert.
Um die Darstellung als Dateiliste zu realisieren, habe ich eine neue Liste erstellt und mit getName neue File Objekte hineingeschrieben.
Bei einer Selektion wird der Pfad dann wieder davor gebastelt damit die Datei auch auf der Festplatte gefunden wird wenn eine Verarbeitung oder Prüfung stattfindet.
Das funktioniert auch alles soweit aber das abschneiden und wieder hinzufügen ist ziemlich tricky und stellt mich schon seit Tagen vor Herausforderungen. Und das suchen von Fehlern ist naja.
Ich würde das gerne auch einfacher realisieren, indem nur eine Oberseved Liste verwendet wird und nur die Darstellung in der ListView geändert wird ohne einen Datenvelrust des DateiPfaded oder Dateinedung in kauf zu nehmen.
Aktuell sehe ich den Wald vor lauter Bäumen nicht.
Hier ist mal eine Methode in der ich die Dateinamen für die ListView Formatiere.
Die Methode getNAme() gibt ja einen String zurück und abgeschnittes ist halt weg.
Ich habe heraus gefudnen das Dateien mit Pfaden wieder dann doch recht einfach wieder zusammengebaut werden können wie
Daher habe ich aktuell das auch so realisiert das ich mit zwei Listen arbeite. Eine für die ListView und die OrigninalListe für die Veratbeitung.
Wie gesagt ich würde es gerne etwas vereinfachen und würde mich freuen wenn es einen einfacheren Weg geben würde.
Vielen Dank
Die Dateien sollen in der ListView nur als Dateien angezeigt werden und mal mit oder ohne Dateiendungen welches im Einstellungenfenster über eine checkbox funktioniert.
Um die Darstellung als Dateiliste zu realisieren, habe ich eine neue Liste erstellt und mit getName neue File Objekte hineingeschrieben.
Bei einer Selektion wird der Pfad dann wieder davor gebastelt damit die Datei auch auf der Festplatte gefunden wird wenn eine Verarbeitung oder Prüfung stattfindet.
Das funktioniert auch alles soweit aber das abschneiden und wieder hinzufügen ist ziemlich tricky und stellt mich schon seit Tagen vor Herausforderungen. Und das suchen von Fehlern ist naja.
Ich würde das gerne auch einfacher realisieren, indem nur eine Oberseved Liste verwendet wird und nur die Darstellung in der ListView geändert wird ohne einen Datenvelrust des DateiPfaded oder Dateinedung in kauf zu nehmen.
Aktuell sehe ich den Wald vor lauter Bäumen nicht.
Hier ist mal eine Methode in der ich die Dateinamen für die ListView Formatiere.
Java:
private void formatiereDateiNamenEndung(ObservableList<File> dateiListeOSL, boolean anzeigenDateiEndung) {
ObservableList<File> formatierteDateiListe = FXCollections.observableArrayList();
for (File datei : dateiListeOSL) {
String formatierterDateiName = anzeigenDateiEndung ? datei.getName() : datei.getName().replaceAll("\\..*", "");
File formatierteDatei = new File(formatierterDateiName); // Erstelle eine neue Datei mit dem formatierten Namen
formatierteDateiListe.add(formatierteDatei); // Füge die formatierte Datei zur Liste hinzu
LOG.info("Datei hinzugefügt: " + formatierterDateiName);
}
// Setze die aktualisierte Liste in die ListView
dateiListeListView.setItems(formatierteDateiListe);
}
Die Methode getNAme() gibt ja einen String zurück und abgeschnittes ist halt weg.
Ich habe heraus gefudnen das Dateien mit Pfaden wieder dann doch recht einfach wieder zusammengebaut werden können wie
Java:
File neueDatei = new File(einstellungen.getVerzeichnisQuelle, dateiNameOhnePfad)
Daher habe ich aktuell das auch so realisiert das ich mit zwei Listen arbeite. Eine für die ListView und die OrigninalListe für die Veratbeitung.
Wie gesagt ich würde es gerne etwas vereinfachen und würde mich freuen wenn es einen einfacheren Weg geben würde.
Vielen Dank