简体   繁体   中英

How can I use a variable from another Controller in JavaFX

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) ????

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. 登录界面主视图屏幕

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM