2016-08-25 108 views
0

我想知道如何将数据从javafx中的一个场景移动到另一个场景中。我知道在像php这样的服务器端编程中使用SESSION,但我不知道桌面应用程序如何在javafx中的两个场景之间共享数据

+0

尝试并创建一个类'Session'来存放你想要的变量,你可以将它传递到新的场景或者你可以有一个'SessionFactory',你可以静态调用来检索会话。 – Orin

+5

这个问题非常广泛,有很多可能的答案。在桌面应用程序中,最常见的方式可能是使用MVC类型的体系结构,并在控制器之间共享一个模型实例(控制器和视图之间具有一对一的对应关系)。见例如http://stackoverflow.com/questions/32342864/applying-mvc-with-javafx您还可以使用依赖注入框架(Spring,Guice或JavaFX特有的[afterburner.fx](http://afterburner.adam) -bien.com/)或其他)将模型实例注入控制器。 –

回答

1

根据您要实施的范围,可以选择以下选项之一(从宽到窄):

A)使用一个可以全局访问的单例对象,并允许它保存您需要的任何信息。 B)使用允许监听特定事件的全局/范围的事件总线。将场景作为监听者附加到事件总线上。然后,这些事件会携带您处理事件所需的信息。

C)手动跟踪场景并直接在Scene实例上调用最小范围的方法。

相关问题