如何从 JPanel 类访问 JFrame 组件



我正在处理一个 GUI 作业,遇到了一个我无法弄清楚的问题。我有一个包含多个 JPanel 的 JFrame,其中一个 JPanels 包含一个带有多个 JPanel 的 CardLayout。由于我们有更多的人从事这个项目,我们决定为CardLayout中的每个面板创建一个单独的类(扩展JPanel)。

问题在于从 JPanel 类访问 JFrame 的组件。

举个例子,我在 JFrame 的某个地方有一个 JLabel 用作状态栏,我想在按下 SaleMain 面板上的按钮时更改状态栏的文本(扩展 JPanel 的类 SaleMain,包含在 CardLayout 中)。

另一个

例子,在另一个面板 EditCustomer(也是一个 JPanel 类,包含在 CardLayout 中)中,我希望有一个带有操作侦听器的按钮,该按钮会将当前面板(包含按钮的面板)更改为与 CardLayout 不同的面板。

希望我尽可能说清楚,提前谢谢你们帮助我:)

模型/视图/控制器模式 (MVC) 对于创建 GUI 很有用。 通过将模型与视图分离,您可以一次专注于 GUI 的一个部分。

您可以为 GUI 创建一个模型,其中包含要在 GUI 上显示的信息。

我在 JFrame 的某个地方有一个 JLabel 用作状态栏,我想在按下 SaleMain 面板上的按钮时更改状态栏的文本

将文本放入模型中,在

按钮的操作侦听器中,将文本放入状态栏中。

我想要一个带有操作侦听器的按钮,该按钮会将当前面板(包含按钮的面板)更改为与 CardLayout 不同的面板。

然后这样做。 操作侦听器是可以更改视图的控制器。

看看我的文章,Dice Game,看看Java Swing应用程序如何实现MVC模式和JPanel切换。

最新更新