我有一个'主要'窗口有一个TableView(数据从数据库加载),当我点击主窗口上的新按钮时,它会在主窗口的正上方打开一个新窗口(透明背景)。
问题是在我添加新预订后,它将值插入数据库然后关闭新窗口,但主窗口上的表不刷新,除非我重新打开主窗口,否则我只看到新数据。
我的主窗口控制器上有一个loadDataFromDB()函数,当我从新窗口调用该函数时,我得到一个空指针错误。
主窗口:
public void loadDataFromDB(){
try {
System.out.println("Salman");
String query = "SELECT * FROM bookings";
pst = con.prepareStatement(query);
rs = pst.executeQuery();
while (rs.next()){
data.add(new Sessions(rs.getString(1), rs.getString(2),
rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6)));
}
} catch (SQLException e) {
e.printStackTrace();
}
table.setItems(data);
}
新窗口
private void bookBtnClicked(){
//after inserting data to DB
MainWindow a = new MainWindow();
a.loadDataFromDB();
}
我知道解决这个问题的方法不是应该怎么做,但是我无法提出任何其他解决方案。请帮我解决一下这个。提前致谢