如何在JavaFX中使用来自另一个Controller的变量
我有两个场景Login.fxml和MainView.fxml以及两个不同的控制器LoginController.java和MainViewControler.java
在LoginController中,我执行整个登录过程并获取JSessionID的值并将其存储在对象中,如下所示:
loginGateway = loginGateway(gateway);
现在在MainViewController中我需要使用this对象(loginGateway)来获取getJSessionID并向服务器发出其他请求。 但是如何在另一个Controller类(MainViewController.java)中访问此对象?
在传递参数JavaFX FXML中使用解决方案的变体。
设置一个LoginManager
,它引用了LoginController
和MainViewController
。
-
loginManager
使用loginController
创建一个登录屏幕,并将loginManager
自己的引用传递给loginController
。 - 登录过后,
loginController
会通知loginManager
登录sessionID
。 - 然后
loginManager
可以创建一个MainViewController
,将mainViewController
传递给sessionID
并用主视图替换场景内容。
以下是一些示例代码的链接,以演示此方法。
- 如何仅在滚动条位于底部并且滚动锁定关闭时才使JTextPane自动滚动?
- 无法创建sessionFactory object.org.hibernate.InvalidMappingException:无法解析资源Employee.hbm.xml中的映射文档
- 如何在服务器端Java代码上运行JavaScript代码?
- BufferedReader构造函数对FileReader的期望是什么
- 处理多次按键忽略重复键
- JLS的哪一部分表示匿名类不能拥有public / protected / private成员类
- 在java 8中的groovy和闭包中的闭包(lambda表达式)?
- JAVA EE 7第一杯教程,无法安装Glassfish 4更新中心
- SWFUpload和Java:会话丢失