1

我正在用几个面板组合一个 GUI。在一个面板中,有供用户输入各种参数的组件。在另一个面板中,有一些按钮和一个位置,可以根据使用用户输入生成的数据输出绘图。

我现在让所有不同的部分独立工作,我只想让他们互相交谈!

当我点击一个按钮时,我想获取所有用户输入并将它们组合起来以生成数据集并绘制它。然后另一个按钮将相同的数据写入文件。

我有单独实现所有组件的代码,将数据写入文件的代码和从数据生成绘图的代码。所有这些都工作正常。

我认为我可以使用 Action/ChangeEvents 来获取参数并将它们分配给 ArrayList。然后使用这个数组列表来生成数据。
我发现很难计划解决这个问题的方法。

目前,我在事件处理程序中使用 get set 方法为数组列表的特定实例设置参数级别,我想将此实例传递给另一个类以生成数据,但不知道如何使其可访问。

我希望我在这里提供了足够的信息。如果有人对此有任何想法,他们将不胜感激。

4

2 回答 2

4

我认为解决您的问题的结构化方法是应用 MVC 模式。这是我认为有关使用 Java 的模型-视图-控制器 (MVC) 的开创性文章。

使用 MVC 设计 Java SE 应用程序,作者 Robert Eckstein,

这是另一个示例代码

至于从一个面板获取参数并将它们传递给另一个面板,您可以使用命令模式。该模式所做的基本上是将方法执行所需的所有信息(类的实例、参数等)封装到一个命令中。然后可以在应用程序中传递此命令,从而简化您执行该方法的方式。

顺便说一句,我真正喜欢的一本关于设计模式的好书是Head First Design Pattern

编辑:我只想添加一些讨论 MVC 和其他一些我认为有用的 GUI 架构的链接:

于 2012-04-14T22:16:01.680 回答
1

这似乎是 MVC 模式应用的一个很好的案例: http ://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

另一个很好的资源是本书的第二章: http ://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?ie=UTF8&qid=1334437965&sr=8-1

于 2012-04-14T21:11:16.667 回答