我一直无法找到使用有效的 CardLayout 的方法。
我正在创建一个 Pong 游戏。我有一个扩展 JFrame 的类和两个扩展 JPanel 的类。我试图做到这一点,以便在第一个 JPanel 中触发该方法时,它会从第一个 JPanel 切换到第二个 JPanel。
我该怎么做,请提供代码。
您所做的是CardLayout
在将容纳您的两个JPanel
s 的父组件上使用 a 。当您将JPanel
s 添加到父组件时,您需要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