W getRoom.rmview
metoda którą wypełnisz przypisz pola rmview
raz za razem, ale nigdy nie modyfikujesz roomlist
z rmview
nigdy nie jest modyfikowany; pozostaje pusty. Ponieważ używasz roomlist
w TableView
, nie ma danych do wyświetlenia.
Zamiast tego powinieneś dodać nowy element dla każdego wiersza zwracanego przez zapytanie bazy danych:
// 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)));
}
Ponadto zalecam przestrzeganie konwencji nazewnictwa
. Zwłaszcza część o skrótach, ponieważ to sprawia, że Twój kod jest trudny do odczytania dla innych. Ponadto object
to zły wybór jako nazwa parametru typu. Prowadzi to do zamieszania i zwykle jako parametry typu używane są pojedyncze wielkie litery.
Również cel rmlist
klasa jest niejasna. Zawiera te same pola co ListRoom
, ale zawiera również listę, na której dane mają być faktycznie przechowywane. Dlaczego potrzebujesz tych pól? Czy potrzebujesz rmlist
w ogóle, czy po prostu można go zastąpić ObservableList<ListRoom>
?