In der getRoom.rmview
Methode füllen Sie die Felder der rmview
zu Instanz immer wieder, aber Sie ändern nie die roomlist
von rmview
wird nie geändert; es bleibt leer. Da Sie roomlist
verwenden in der TableView
, es gibt keine anzuzeigenden Daten.
Sie sollten stattdessen für jede Zeile, die die Datenbankabfrage zurückgibt, ein neues Element hinzufügen:
// remove data previously in the list
rmList.roomlist.clear();
while (rs.next()){
rmList.roomlist.add(new ListRoom(rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(4),
rs.getString(5)));
}
Außerdem empfehle ich, sich an die Namenskonventionen
zu halten . Besonders der Teil über Abkürzungen, da dies Ihren Code für andere schwer lesbar macht. Weiterhin object
ist eine schlechte Wahl als Name für einen Typparameter. Es führt zu Verwirrung und normalerweise werden für Typparameter einzelne Großbuchstaben verwendet.
Auch der Zweck der rmlist
Klasse ist unklar. Es enthält dieselben Felder wie ListRoom
, enthält aber auch eine Liste, wo die Daten tatsächlich gespeichert werden sollen. Warum brauchen Sie diese Felder? Benötigen Sie rmlist
überhaupt oder könnte es einfach durch ObservableList<ListRoom>
ersetzt werden ?