【问题标题】:How to store data within javafx application如何在 javafx 应用程序中存储数据
【发布时间】: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


【解决方案1】:

如果您使用 mvc 模式,您的数据必须位于模型层并从控制器调用。如果您的数据在控制器类中并且您不想在它们之间传递所有数据,则可以使用静态成员。

【讨论】:

  • 非常感谢您的建议:D
猜你喜欢
  • 1970-01-01
  • 2014-10-26
  • 2016-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多