-1

我一直无法找到使用有效的 CardLayout 的方法。

我正在创建一个 Pong 游戏。我有一个扩展 JFrame 的类和两个扩展 JPanel 的类。我试图做到这一点,以便在第一个 JPanel 中触发该方法时,它会从第一个 JPanel 切换到第二个 JPanel。

我该怎么做,请提供代码。

4

1 回答 1

4

您所做的是CardLayout在将容纳您的两个JPanels 的父组件上使用 a 。当您将JPanels 添加到父组件时,您需要String为每个提供一个,稍后将用于在卡片之间切换。

CardLayout cardLayout = new CardLayout();
JPanel parentComponent = new JPanel(cardLayout);
parentComponent.add( jPanel1, "Panel 1" );
parentComponent.add( jPanel2, "Panel 2" );

然后当你想切换卡片时,你需要调用CardLayout布局管理器上的一个方法,所以你需要从父组件中获取它并进行转换,或者在创建父组件时保存对它的引用。现在换卡:

cardLayout.show( parentComponent, "Panel 1" ); // Shows panel 1
cardLayout.show( parentComponent, "Panel 2" ); // Shows panel 2
于 2011-11-04T00:28:55.113 回答