JFrame での動的 JPanel 置換
JFrame で JPanel を動的に置換するには、Swing のレイアウト管理システムを理解する必要があります。 Pack() を使用してレイアウトを調整しようとしましたが、コンポーネントの置換を処理するのではなく、主にウィンドウのサイズを制御します。
動的 JPanel 管理での CardLayout の使用
CardLayoutは、単一のコンテナ内で複数のパネルを切り替えるための洗練されたソリューションを提供します。実装方法は次のとおりです。
CardLayout オブジェクトを作成します:
<code class="java">CardLayout cardLayout = new CardLayout();</code>
CardLayout を設定しますコンテナのレイアウトマネージャーとして:
<code class="java">parentFrameJPanelBelongsTo.setLayout(cardLayout);</code>
パネルをコンテナに追加します:
<code class="java">parentFrameJPanelBelongsTo.add(panel, "CUSTOM_PANEL_ID"); parentFrameJPanelBelongsTo.add(newOtherPanel, "NEW_PANEL_ID");</code>
パネルを切り替える:
<code class="java">cardLayout.show(parentFrameJPanelBelongsTo, "CUSTOM_PANEL_ID");</code>
フレームをパックする:
<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 サイトの他の関連記事を参照してください。