2014-09-30 68 views
-2

在我的應用程序中,我將用戶名從登錄場景傳遞到主場景。信息已成功傳遞,但未在gui中顯示。 之前,我切換的場景,我這樣做是爲了將用戶名傳遞給主控制器: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

+0

什麼是[控制器和fxml中的其他代碼](http://stackoverflow.com/help/mcve)?你(不正確)寫了類似[@FXML nameLabel = new Label()](http://stackoverflow.com/questions/23960625/menubutton-doesnt-display-items-in-javafx?answertab=active#tab-top )? – jewelsea 2014-09-30 23:18:43

+0

不,我沒有..和其餘的代碼是巨大的: – user3860345 2014-10-01 06:54:14

+0

你應該閱讀我提供的mcve鏈接,並拿出一個。 – jewelsea 2014-10-01 11:28:42

回答

0

問題解決了!我不知道我需要將場景的根設置爲使用fxmlLoader.load()創建的父類。

相關問題