JavaFX了解场景状态(打开或关闭)
主窗口 我有一个“主”窗口,它有一个表视图(从数据库加载数据),当我单击主窗口上的“新建”按钮时,它会在主窗口的正上方打开一个新窗口(背景透明) 新窗口 问题是在我添加新预订后,它将值插入数据库,然后关闭新窗口,但是主窗口上的表不会刷新,除非我重新打开主窗口,否则我只能看到新数据 我的主windows控制器上有一个loadDataFromDB()函数,当我从新窗口调用该函数时,我得到一个空指针错误 主窗口:JavaFX了解场景状态(打开或关闭),java,database,javafx,scene,stage,Java,Database,Javafx,Scene,Stage,主窗口 我有一个“主”窗口,它有一个表视图(从数据库加载数据),当我单击主窗口上的“新建”按钮时,它会在主窗口的正上方打开一个新窗口(背景透明) 新窗口 问题是在我添加新预订后,它将值插入数据库,然后关闭新窗口,但是主窗口上的表不会刷新,除非我重新打开主窗口,否则我只能看到新数据 我的主windows控制器上有一个loadDataFromDB()函数,当我从新窗口调用该函数时,我得到一个空指针错误 主窗口: public void loadDataFromDB(){ try {
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();
}
我知道我解决这个问题的方法不是应该怎么做,但是我不能想出任何其他的解决办法。请帮我做这个。提前感谢在哪条指令中出现空指针异常?你能发布堆栈跟踪吗?另外,您正在创建一个新的
MainWindow
而不是重用现有窗口的事实也令人怀疑。这里有一个指向我的错误的链接-…对于MainWindow的创建,如果我调用一个只有sysout的函数a.test(),它会工作,但是调用loaddb函数没有。您发布的堆栈跟踪没有显示导致异常的指令。。。创建新的main窗口的问题在于,您可能无法初始化所有需要的变量。是否有理由创建一个新的main窗口
,而不是重用当前窗口?