JavaFX场景生成器在窗口打开前传递参数

JavaFX场景生成器在窗口打开前传递参数,java,javafx,parameters,fxml,Java,Javafx,Parameters,Fxml,我试图将一个字符串传递给下一个窗口,以便在加载时,它将显示基于该字符串从数据库检索到的数据 我遇到了一个问题,它只会在加载窗口后设置字符串,并尝试从数据库中填充数据,因此我总是留下一个空表 我硬编码了字符串,以确保提取和打印数据的函数是正确的,并且它正在工作,这样就留下了将字符串从上一个屏幕传递到下一个屏幕的问题 这是我的密码 Stage app_stage =(Stage) ((Node) event.getSource()).getScene().getWindow(); F

我试图将一个字符串传递给下一个窗口,以便在加载时,它将显示基于该字符串从数据库检索到的数据

我遇到了一个问题,它只会在加载窗口后设置字符串,并尝试从数据库中填充数据,因此我总是留下一个空表

我硬编码了字符串,以确保提取和打印数据的函数是正确的,并且它正在工作,这样就留下了将字符串从上一个屏幕传递到下一个屏幕的问题

这是我的密码

    Stage app_stage =(Stage) ((Node) event.getSource()).getScene().getWindow();
    FXMLLoader loader = new FXMLLoader(getClass().getResource("FXMLMenu.fxml"));
    Parent menuPage_parent = loader.load();
    FXMLMenuController menuCon = loader.<FXMLMenuController>getController();
    usernametoPass = usernameField.getText();
    menuCon.setUname(usernametoPass); //THIS is the function that sets the string

    Scene menuPage_scene = new Scene(menuPage_parent);
    app_stage.hide();
    app_stage.setScene(menuPage_scene);
    app_stage.show();
Stage app_Stage=(Stage)((Node)event.getSource()).getScene().getWindow();
FXMLLoader=newFXMLLoader(getClass().getResource(“FXMLMenu.fxml”);
父菜单页面_Parent=loader.load();
FXMLMenuController menuCon=loader.getController();
usernametoPass=usernameField.getText();
menuCon.setUname(usernametoPass)//这是设置字符串的函数
场景菜单页\场景=新场景(菜单页\父场景);
app_stage.hide();
应用程序阶段设置场景(菜单页面场景);
app_stage.show();
现在通过打印字符串在加载时使用它,我总是得到null,因为它没有设置。但是,如果我在加载后打印字符串(通过按下按钮),它将显示正确的字符串


是否有办法在加载之前进行设置?

在代码中设置控制器(而不是在FXML中指定控制器类),或者使用控制器工厂。请参阅在代码中设置控制器(而不是在FXML中指定控制器类),或使用控制器工厂。看见