JFrame 内の JPanel を動的に置き換える方法は?

Patricia Arquette
リリース: 2024-10-24 17:20:03
オリジナル
984 人が閲覧しました

How to Dynamically Replace JPanels in a JFrame?

JFrame での動的 JPanel 置換

JFrame で JPanel を動的に置換するには、Swing のレイアウト管理システムを理解する必要があります。 Pack() を使用してレイアウトを調整しようとしましたが、コンポーネントの置換を処理するのではなく、主にウィンドウのサイズを制御します。

動的 JPanel 管理での CardLayout の使用

CardLayoutは、単一のコンテナ内で複数のパネルを切り替えるための洗練されたソリューションを提供します。実装方法は次のとおりです。

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

    <code class="java">CardLayout cardLayout = new CardLayout();</code>
    ログイン後にコピー
  2. CardLayout を設定しますコンテナのレイアウトマネージャーとして:

    <code class="java">parentFrameJPanelBelongsTo.setLayout(cardLayout);</code>
    ログイン後にコピー
  3. パネルをコンテナに追加します:

    <code class="java">parentFrameJPanelBelongsTo.add(panel, "CUSTOM_PANEL_ID");
    parentFrameJPanelBelongsTo.add(newOtherPanel, "NEW_PANEL_ID");</code>
    ログイン後にコピー
  4. パネルを切り替える:

    <code class="java">cardLayout.show(parentFrameJPanelBelongsTo, "CUSTOM_PANEL_ID");</code>
    ログイン後にコピー
  5. フレームをパックする:

    <code class="java">parentFrameJPanelBelongsTo.pack();</code>
    ログイン後にコピー

使用例:

この例では、次のようにコードを変更できます:

<code class="java">CustomJPanelWithComponentsOnIt panel = new CustomJPanelWithComponentsOnIt();

// Create and set the CardLayout
CardLayout cardLayout = new CardLayout();
parentFrameJPanelBelongsTo.setLayout(cardLayout);

// Add the panels to the frame
parentFrameJPanelBelongsTo.add(panel, "CUSTOM_PANEL_ID");

// Switch to the desired panel
cardLayout.show(parentFrameJPanelBelongsTo, "CUSTOM_PANEL_ID");

// Pack the frame
parentFrameJPanelBelongsTo.pack();</code>
ログイン後にコピー

CardLayout を利用すると、JPanel をシームレスに置き換えることができます。動的でユーザー応答性の高いインターフェイスを保証する、オンザフライの JFrame。

以上がJFrame 内の JPanel を動的に置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!