動作するCardLayoutを使用する方法を見つけることができませんでした。
私はポンゲームを作成しています。JFrameを拡張するクラスとJPanelを拡張する2つのクラスがあります。最初のJPanelでメソッドが起動されると、最初のJPanelから2番目のJPanelに切り替わるようにしようとしています。
これをどのように行いますか。コードを提供してください。
あなたがすることはCardLayout
あなたの2つを保持する親コンポーネントでを使用することJPanel
です。親コンポーネントにsを追加するときは、それぞれにsを指定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