V getRoom.rmview metoda, kterou vyplníte, přiřaďte polím rmview instance znovu a znovu, ale nikdy neupravíte roomlist rmview nikdy se nemění; zůstává prázdný. Protože používáte roomlist v TableView , nejsou k dispozici žádná data k zobrazení.
Místo toho byste měli přidat nový prvek pro každý řádek, který databázový dotaz vrátí:
// 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)));
}
Dále doporučuji dodržovat konvence pro pojmenování
. Zejména část o zkratkách, protože kvůli tomu je váš kód pro ostatní obtížně čitelný. Dále object je špatná volba jako název parametru typu. To vede k nejasnostem a pro parametry typu se obvykle používají jediná velká písmena.
Také účel rmlist třída je nejasná. Obsahuje stejná pole jako ListRoom , ale také obsahuje seznam, kam chcete data skutečně uložit. Proč potřebujete tato pole? Potřebujete rmlist vůbec nebo by to šlo jen nahradit ObservableList<ListRoom> ?