JAVAFX将信息从一个场景传递到另一个场景,而不是在gui中显示

时间:2014-09-30 21:48:19

标签: user-interface javafx

在我的应用程序中,我将用户名从登录场景传递到主场景。信息成功传递但未在gui中显示。 在切换场景之前,我这样做是为了将用户名传递给主控制器:

    try 
    {
        URL location = getClass().getResource("Main.fxml");
        FXMLLoader fxmlLoader = new FXMLLoader();
        Parent root = (Parent) fxmlLoader.load(location.openStream());
        LogInController ctrl = fxmlLoader.getController();
        ctrl.setUserDetails(userName);
    } 
    catch (IOException ex) 
    {
        Logger.getLogger(MainWindowController.class.getName()).log(Level.SEVERE, null, ex);
    }

主控制器中的setUserDetails方法:

void setUserDetails(String userName) 
{
    System.out.println(userName);  //working
    nameLabel.setText(userName);   //do nothing !!
}

然后我显示主场景.. 名称打印在控制台中,但不显示在gui中。我该怎么办?我需要重新粉刷或刷新场景吗?如果是,那我该怎么办呢? TNX

1 个答案:

答案 0 :(得分:0)

问题解决了!我不知道我需要将场景的根设置为我使用fxmlLoader.load()创建的Parent。