如何在JavaFX中使用来自另一个Controller的变量

时间:2013-01-24 21:20:47

标签: java controller javafx-2 javafx viewcontroller

我有两个场景Login.fxml和MainView.fxml以及两个不同的控制器LoginController.java和MainViewControler.java

在LoginController中,我执行整个登录过程并获取JSessionID的值并将其存储在一个对象中,如下所示:

loginGateway = loginGateway(gateway);

现在在MainViewController中我需要使用this对象(loginGateway)来获取getJSessionID并向服务器发出其他请求。但是如何在另一个Controller类(MainViewController.java)中访问该对象????

1 个答案:

答案 0 :(得分:7)

Passing Parameters JavaFX FXML中使用解决方案的变体。

设置LoginManager,其中包含对LoginControllerMainViewController的引用。

  1. loginManager使用loginController创建登录屏幕,并将对自身的引用传递给loginController
  2. 登录过后,loginController会通知登录loginManager的{​​{1}}。
  3. sessionID然后可以创建loginManager,传递MainViewController mainViewController并用主视图替换场景内容。
  4. 以下是some sample code的链接,以演示此方法。 login screen mainview screen