如何在我的情况下使用CardLayout

时间:2011-11-04 00:20:35

标签: java swing pong

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

我正在制作Pong游戏。我有一个扩展JFrame的类和两个扩展JPanel的类。我试图这样做,以便当方法在第一个JPanel中被触发时,它从第一个JPanel切换到第二个JPanel。

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

1 个答案:

答案 0 :(得分:4)

您所做的是在父组件上使用CardLayout来保存您的两个JPanel。当您将JPanel添加到父组件时,您需要为每个组件提供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