JavaFX observablelist löschen

dior

Bekanntes Mitglied
Hallo,

ich schreibe ein Programm welches Daten aus einer OracleDB in einer TableView anzeigt.
Mein Problem ist, wenn ich eine SQL Abfrage starte wird mir das Ergebnis in der TableView angezeigt. Wenn ich die Abfrage aber nochmal starte oder eine andere Abfrage dann bleiben die Daten der 1. Abfrage und die der 2. werden "angehängt".

Ich muss die TableView oder besser gesagt die ObservableList<ObservableList<String>> data = FXCollections.observableArrayList() vorher löschen. Aber ich weiß leider nicht wie ich das machen kann?

Ich habe z.B. data.clear(); versucht, dann kommt aber immer eine NullPointerException
 
Wenn eine NullPointerException fliegt, dann ist die Variable zum Zeitpunkt wo "clear()" aufgerufen werden soll nicht initialisiert.
Ansonsten welchen Sinn hat denn die OberservableList in der ObservableList?
 
Also das FXCollections.observableArrayList() erstellt eine neue Instanz - wenn Du aus deinen bestehenden Instanzen etwas löschen willst, dann bringt Dich das doch nicht weiter.
(Das ist wie wenn Du Dein Auto waschen willst und Du dann ein neues Auto besorgst um dieses dann zu waschen ... dadurch wird Dein Auto in Deiner Garage nicht sauber!)

Ich habe jetzt verstanden, dass Du eine TableView nutzt. Dieses hat eine Methode getItems() mit der Du an die ObservableList<S> heran kommst. Und diese hat dann ein clear(), das Du aufrufen kannst.

Oder gib mal ein paar mehr Details von Deinem Code - ohne Details ist es immer recht schwer, weiter zu helfen.
 
@Joose, @kneiztel, ... vielen Dank, eure Beiden Tipps haben mir schon geholfen. Ich habe das clear() an der falschen Stelle aufgerufen (da war die OL tatsächlich noch nicht initialisiert) und mit
Code:
tableview.getItems().clear();
wird die Tabelle vorher gelöscht.

Danke für die schnelle Hilfe!!
 

Neue Themen


Zurück
Oben