How can I use a variable from another Controller in JavaFX

匿名 (未验证) 提交于 2019-12-03 02:13:02

问题:

I have two scenes Login.fxml and MainView.fxml and two diferent controllers LoginController.java and MainViewControler.java

In LoginController I do the whole process to login and get the value of JSessionID and store it in a object, like below:

loginGateway = loginGateway(gateway); 

Now in MainViewController I need to use the this object (loginGateway) to getJSessionID and make other requests to the server. But how can I acess this object in another Controller Class (MainViewController.java) ????

回答1:

Use a variation on the solution in Passing Parameters JavaFX FXML.

Setup a LoginManager which has a reference to both the LoginController and the MainViewController.

  1. The loginManager creates a login screen using the loginController and passes a reference to itself to the loginController.
  2. When login has passed, the loginController notifies the loginManager of the login sessionID.
  3. The loginManager can then create a MainViewController, passing the mainViewController the sessionID and replacing the scene contents with the main view.

Here is a link to some sample code to demonstrate this approach.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!