ホームページ > Java > &#&チュートリアル > JFrame 内でパネルを動的に交換するにはどうすればよいですか?

JFrame 内でパネルを動的に交換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-25 04:16:02
オリジナル
999 人が閲覧しました

How to Dynamically Swap Panels Within a JFrame?

JFrame 内のパネルの動的な交換

この Java Swing アプリケーションでは、JFrame 内の JPanel をユーザーのアクションに基づいて別の JPanel と交換する必要があります。これを実現するための適切なアプローチを検討し、以下のコードをテストしました:

panel = new CustomJPanelWithComponentsOnIt();
parentFrameJPanelBelongsTo.pack();
ログイン後にコピー

ただし、このアプローチではパネルを切り替えることができません。

解決策: CardLayout を活用する

このシナリオの理想的な解決策は、一度に 1 つのパネルのみを選択的に表示しながら、複数のパネルの表示を可能にするレイアウト マネージャーである CardLayout を利用することです。

CardLayout を実装するには、次の手順を実行します。取得できます:

  1. CardLayout オブジェクトを作成します:

    CardLayout cardLayout = new CardLayout();
    ログイン後にコピー
  2. パネルを保持するコンテナのレイアウトを設定します (例: JFrame):

    parentFrameJPanelBelongsTo.setLayout(cardLayout);
    ログイン後にコピー
  3. CardLayout の制約を使用してパネルをコンテナに追加します:

    parentFrameJPanelBelongsTo.add(new CustomJPanelWithComponentsOnIt(), "panel1");
    parentFrameJPanelBelongsTo.add(new AnotherJPanel(), "panel2");
    ログイン後にコピー
  4. 最初のパネルを次のように設定します表示されます:

    cardLayout.show(parentFrameJPanelBelongsTo, "panel1");
    ログイン後にコピー
  5. ユーザー操作に基づいてアクティブなパネルを動的に変更します:

    cardLayout.show(parentFrameJPanelBelongsTo, "panel2");
    ログイン後にコピー

以上がJFrame 内でパネルを動的に交換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート