Derzeit werte ich die Informationen von Dateien in einer ListView aus.
Vor der Selektion habe ich ein neues DateiObjekt erstellt und die werte der Datei in der Methode "changed" dann die Werte zu speichern.
Innerhalb der "chnaged" Methode werden die Werte noch ins LOG geschrieben und soweit funktioniert auch alles.
Ausserhalbe der Methode habe ich dann die Werte des DateiObjektes nochmal in das Log schreiben wollen, aber der Wert ist null ???
Zu Anfang der Klasse habe ich die Variable deklariert "private Datei datei;" da die Werte über getter und setter Methoden zugegriffen werden können.
Vor dem SelectionModel habe ich die das Objekt neu erstellt, um jeder selektion einer neuen Datei zu zuordnen zu wollen.
Was mich ebenfalls wundert, das die Logausgabe mit null werten vorher ausgegeben wurde??
In der change Methode werden die richtigen Werte ausgegeben, die kommen aber erst stäter, obwohl die innherlab der Methode sind?
Warum werden die null objekte die ausserhalb der Methode noch vor der richtigen Ausgabe innderhalb der Methode geloggt?
Warum enthält das DateiObjekt denn überhaupt null Werte?
Ich habe heraus gefunden, das vor der Selektion keine Werte enthalten sind und daher sind diese null.
Die Dateiobjekte enthalten dann auch die Werte. Da ich immer nur die Selektion einer Datei zulasse, konnte ich das vorher nicht feststellen.
Danke
Mi
Vor der Selektion habe ich ein neues DateiObjekt erstellt und die werte der Datei in der Methode "changed" dann die Werte zu speichern.
Innerhalb der "chnaged" Methode werden die Werte noch ins LOG geschrieben und soweit funktioniert auch alles.
Ausserhalbe der Methode habe ich dann die Werte des DateiObjektes nochmal in das Log schreiben wollen, aber der Wert ist null ???
Zu Anfang der Klasse habe ich die Variable deklariert "private Datei datei;" da die Werte über getter und setter Methoden zugegriffen werden können.
Vor dem SelectionModel habe ich die das Objekt neu erstellt, um jeder selektion einer neuen Datei zu zuordnen zu wollen.
Code:
INFO indexer.fenster.links.DateiListeVC - QuellPfad : N:/Quelle
INFO indexer.modell.Datei - Einlesen der Dateien - beginnt
INFO indexer.modell.Datei - Einlesen der Dateien - beendet
INFO indexer.fenster.links.DateiListeVC - Dateiname : null
INFO indexer.fenster.links.DateiListeVC - Datei : null
INFO indexer.fenster.links.DateiListeVC - Dateiname : Microsoft Visio Drawing (neu).vsdx
INFO indexer.fenster.links.DateiListeVC - Datei : N:\Quelle\Microsoft Visio Drawing (neu).vsdx
In der change Methode werden die richtigen Werte ausgegeben, die kommen aber erst stäter, obwohl die innherlab der Methode sind?
Code:
// Definiert eine einzelne Selektion in der Liste
dateiListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
datei = new Datei();
// Gibt die selektierte Datei zurück
dateiListView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Datei>() {
@Override
public void changed(ObservableValue<? extends Datei> observable, Datei oldValue, Datei newValue) {
LOG.info("Dateiname : " + newValue.holeDateiName());
LOG.info("Datei : " + newValue.holeDateiQuelle());
datei.speichernDateiName(newValue.holeDateiName());
datei.speichernDateiQuelle(newValue.holeDateiQuelle());
}
});
LOG.info("Dateiname : " + datei.holeDateiName()); // null
LOG.info("Datei : " + datei.holeDateiQuelle()); // null
Warum enthält das DateiObjekt denn überhaupt null Werte?
Ich habe heraus gefunden, das vor der Selektion keine Werte enthalten sind und daher sind diese null.
Die Dateiobjekte enthalten dann auch die Werte. Da ich immer nur die Selektion einer Datei zulasse, konnte ich das vorher nicht feststellen.
Danke
Mi
Zuletzt bearbeitet: