【发布时间】:2016-12-19 23:44:12
【问题描述】:
这是我的第一篇文章,所以可能有点不合适。 我尝试用 JavaFX 开发一个应用程序,以恢复我过去几年的编程技能。
我试图创建一个 JavaFX 应用程序,它包含多个视图和控制器,例如 Controller1、View1、Controller2、View2 等等。 我还在我的应用程序中包含了用于启动过程的 Main 类。我尝试使用 MVC 设计模式开发这个培训应用程序。
我的问题是:如何在控制器和视图之间存储数据? 目前,我将数据存储在对象列表中,即 Controller1(MainwindowController)中的事件,然后如果我想对该列表执行某些操作,例如从其他窗口新元素添加到它,我将通过 Controller2 构造函数传递列表。我发现有些麻烦,因为我在 Controller1 和 Controller2 之间传递整个列表,但我真的不想那样做。
有没有一种方法可以存储实例中所有控制器都可以访问的数据,而不会在它们之间漫无目的地传递大量数据?
我知道这是一个愚蠢的问题,但对我来说,弄清楚它很麻烦。
非常感谢任何线索提示:)
【问题讨论】:
-
要在多个控制器之间“手动”使用共享模型实例,请参阅stackoverflow.com/questions/32342864 如果你想自动化这个,你应该考虑使用依赖注入框架。通用 DI 框架包括 Spring 和 Guice,它们与 JavaFX 配合得非常好;对于特定于 JavaFX 的框架,请查看 afterburner.fx。
-
非常感谢您的建议:D
标签: java model-view-controller javafx controllers pass-data