如何在 java 中的 swing 之间共享数据



我有一个 swing 应用程序,用于执行大量计算、制作图表、生成报告等。在一个JFrame中,数据由JTable引入,执行计算并返回包含信息的Map。然后在另一个窗口 JPanel 中,必须使用此映射才能执行更多计算。这个过程必须在 6 或 7 个窗口左右执行,在不同的上下文中,我的意思是并非所有都在同一个 JFrame 中。问题是如何在窗口之间共享此数据?如果我在 Web 应用程序中工作,我可以将这些数据放在会话范围或类似的东西上,然后获取它。但是如何在秋千应用程序中执行此操作?多谢!!!

您可以使父对象保存所有数据,并为其创建资源库和获取器。然后,每个窗口将调用 get/set 以获取对数据的访问权限。

您还可以对"模型-视图-控制器"模式进行一些研究。您让父对象保存所有数据对象。然后,创建使用父级的"get"请求方法显示数据的窗口,并使用"set"方法更新数据的控件。

MVC 架构就是答案。 将您的数据和业务逻辑保存在与 swing 无关的 Java 类中,甚至不知道 swing 的存在。 然后将这些数据传递给您的 Swing 代码。 ActionListeners调用修改数据的业务逻辑。

最新更新