【发布时间】:2021-06-17 08:46:43
【问题描述】:
我在这里面临的问题是我不确定如何让 JButton 操作导致调用上面许多类的方法并从自身中删除。
为了说明这里的范围和结构,我正在开发一个滑雪胜地管理应用程序。它具有 SkiRun 和 Lift 等类,它们都在 SkiResort 类中使用。 SkiResort 拥有对这些执行操作的功能。最初,我使用一个 ResortApp 类来执行(控制台)接口,接受用户输入并对 SkiResort 进行相应的修改。
我现在通过 Swing 库添加一个 GUI,并且具有(显然)一个 JFrame 的复杂结构,其中包含许多 JPanel,每个 JPanel 包含更多 JPanel,其中一些包含 JButton。这些都通过一个名为 MountainManager 的类进行管理,该类设置 JFrame 和组件,并且应该执行与 SkiResort 的接口。我在这里面临的真正问题是我不确定如何拥有它,以便在按下 JButton 时,例如,该调用可以传递回它包含的 MountainManager,以便能够执行它应该执行的任何操作执行。
在包含的图表中,红线是我想要实现的调用。到目前为止,所有的 JFrames 和 Panels 等都被称为新的,并且没有任何功能。
【问题讨论】:
-
JButton 传递回 MountainManager 的具体内容是什么?您可以有一个 JButton 在按下时调用的
ButtonXPressed()方法。 -
澄清一下,我需要按下按钮导致在 MountainManager 中调用一个方法,而不是传递任何数据
-
您必须将 MountainManager 的实例向下传递到每个 JFrame 和 JPanel 类。通常,在 Java Swing 中,您创建模型。视图,以及与 JButton 一样多的控制器类,因此您不会遇到在类之间来回传递控制的问题。