初始化后,在javafx中的控制器之间传递变量[duplicate]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初始化后,在javafx中的控制器之间传递变量[duplicate]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

如何在两个可初始化的控制器之间传递变量?登录后,第二页中的用户名为null,因为它已经初始化(我正在使用框架)。我可以运行一个方法来在初始化后加载变量吗?

所以这是一个代码片段:logincontroller

public static String myusername;
public static String myaccount; 

@FXML
private JFXTextField username;

@FXML
public void makeLogin(ActionEvent event) {      
Document query = new Document();
query.put("userName", username.getText());

FindIterable<Document> docs = userCollection.find(query);

if(docs != null){
    if(detailsmatch(username, password)){

        String theaccount = (String) doc.get("account");

        USERSingleton.getInstance().setusername(username.getText());                                
        USERSingleton.getInstance().setaccount(theaccount);

        myusername = USERSingleton.getInstance().getusername();
        myaccount = USERSingleton.getInstance().getaccount();

        myScreenPane.setHomeScreen("home");

    }
}

@Override
public void initialize(URL url, ResourceBundle rb) {     

}  

@Override
public void setScreenPane(screenPane screenPage) {
    myScreenPane = screenPage;
}
}

所以我想从logincontroller获取homecontroller中的帐户变量。喜欢:

homecotroller

System.out.println(logincontroller.myaccount);
System.out.println(USERSingleton.getInstance().getaccount());

. .

答案

你可以使用单身人士。

创建一个单例并通过setter将所有变量传递给实例。然后,您可以从其他页面访问该对象。

以上是关于初始化后,在javafx中的控制器之间传递变量[duplicate]的主要内容,如果未能解决你的问题,请参考以下文章

无法在 javafx 中链接 fxml 和控制器文件变量 [重复]

如何在swiftui中的视图之间传递变量?

JavaFX 初始化方法中的 NullPointerException

如何在情节提要中的 2 个视图控制器之间传递数据?

如何在 Swift 中的视图控制器之间传递数据?

Swift 3 - 在视图控制器之间传递变量和函数