JFrame 中的两个面板,如何到达另一个面板的 CardLayout?

Two panels in a JFrame, how to reach the CardLayout of the other one?

我的 JFrame 中有两个面板。一个是左侧面板,其中包含用于导航的按钮。我想使用左侧的按钮控制右侧的 CardLayout。我尝试 "fetching" 它到 JFrame 并通过左边的构造函数传递它,但它产生了一些奇怪的效果。

我该怎么做?

您需要将 CardLayout 和对右侧面板的引用传递给左侧面板。

就我个人而言,我会创建一个 "navigation controller",其中包含 CardLayout 和右面板,我会将其传递给左面板。然后,左侧面板将能够 "ask" "navigation controller" 根据 "navigation controller" 的能力向给定方向移动。这样,您可以限制 CardLayout 和右侧面板的曝光,但它也允许您更改导航实际工作的机制,而不会对可能正在使用的任何 class 产生不利影响"navigation controller"