如何在两个可初始化的控制器之间传递变量?登录后,用户名在第二页中为null,因为它已经初始化(我正在使用框架)。初始化后可以运行一种方法来加载变量吗?
因此,这是一个代码段: 登录控制器
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中的account变量。喜欢:
homecotroller
System.out.println(logincontroller.myaccount);
System.out.println(USERSingleton.getInstance().getaccount());
。
答案 0 :(得分:0)
您可以为此使用单例。
创建一个单例并将所有变量通过设置器传递给实例。然后,您可以从其他页面访问该对象。