> Java > java지도 시간 > 본문

JFrame 내에서 패널을 동적으로 교환하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-25 04:16:02
원래의
878명이 탐색했습니다.

How to Dynamically Swap Panels Within a JFrame?

JFrame 내에서 동적으로 패널 교체

이 Java Swing 애플리케이션에서 JFrame 내의 JPanel은 사용자 작업에 따라 다른 JPanel과 교체되어야 합니다. 이를 달성하기 위한 적절한 접근 방식을 탐색하면서 아래 코드를 테스트했습니다.

panel = new CustomJPanelWithComponentsOnIt();
parentFrameJPanelBelongsTo.pack();
로그인 후 복사

그러나 이 접근 방식은 패널을 전환하는 데 실패했습니다.

해결책: CardLayout 활용

이 시나리오의 이상적인 솔루션은 여러 패널을 표시하면서 동시에 하나의 패널만 선택적으로 표시할 수 있는 레이아웃 관리자인 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!