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 중국어 웹사이트의 기타 관련 기사를 참조하세요!