자바 cardlayout 예제

CardLayout 개체가 관리하는 컨테이너에 구성 요소를 추가하려면 추가되는 구성 요소를 식별하는 문자열을 지정합니다. 예를 들어 이 데모에서 첫 번째 패널에는 “JButtons가 있는 카드”문자열이 있고 두 번째 패널에는 “JTextField가 있는 카드”가 있습니다. 이 데모에서는 이러한 문자열이 콤보 상자에도 사용됩니다. 이 예제와 함께 진행되는 문서가 CardLayout를 사용하는 경우 Java7 show (컨테이너 부모, 문자열 이름) 또는 Java6 show (컨테이너 부모, 문자열 이름)가 감가 상각된 것을 볼 수 없습니다. 다른 레이아웃 관리자에 대한 자세한 내용은 레이아웃 관리자 개요를 참조하십시오. 이 예제에서는 CardLayout 클래스의 표시 메서드를 사용하려면 현재 표시되는 구성 요소를 설정해야 함을 보여 준다. show 메서드의 첫 번째 인수는 CardLayout가 관리하는 구성 요소의 컨테이너인 CardLayout가 제어하는 컨테이너입니다. 두 번째 인수는 표시할 구성 요소를 식별하는 문자열입니다. 이 문자열은 컨테이너에 구성 요소를 추가할 때 사용된 문자열과 동일합니다. Java 스윙 CardLayout은 언제든지 맨 위 구성 요소만 표시되는 스택의 구성 요소를 관리합니다. 일반적으로 카드 레이아웃과 함께 사용할 때 표시 시간이 같은 모든 구성 요소는 JPanel에 배치됩니다.

탭된 창은 자체 GUI를 제공하기 때문에 탭된 창을 사용하는 것이 CardLayout 클래스를 사용하는 것보다 간단합니다. 예를 들어 탭된 창을 사용하여 앞의 예제를 구현하면 코드 줄이 적은 프로그램이 생성됩니다. 이 트레일의 한 예만 카드레이아웃을 사용하며, 이것은 카드레이아웃데모입니다. 일반적으로 탭된 창은 자체 GUI를 제공하기 때문에 카드 레이아웃 대신 탭창을 사용합니다. CardLayout 클래스는 동일한 표시 공간을 공유하는 두 개 이상의 구성 요소(일반적으로 JPanel 인스턴스)를 관리합니다. CardLayout 클래스를 사용하는 경우 사용자가 콤보 상자를 사용하여 구성 요소 중에서 선택할 수 있도록 합니다. CardLayoutDemo 응용 프로그램은이 기능을 설명하는 예입니다. 다음은 CardLayout 레이아웃 관리자를 작동하는 데 사용할 수 있는 Java 코드의 예입니다.

동일한 작업을 수행하는 또 다른 방법은 탭창을 사용하는 것입니다. 다음 그림은 앞의 예제의 탭된 창 버전을 보여 줍니다. 이 카드 레이아웃을 사용하여 컨테이너 인수의 기본 크기를 결정합니다. 개념적으로 CardLayout가 관리하는 각 구성 요소는 스택의 카드 또는 거래 카드와 같으며, 여기서 는 맨 위 카드만 언제든지 볼 수 있습니다. 다음 방법 중 에서 표시 되는 카드를 선택할 수 있습니다. 현재 카드가 cl.show에서 문자열을 반환하는 경우에 따라 달라집니다 (카드 패널, “”+ (현재 카드); 지정된 패널의 최소 크기를 계산합니다. 메서드 show() JPanel (더 구체적으로 구성 요소)에 존재 하 고 setVisible()로 대체 되었습니다. 이것은 CardLayout의 show() 메서드와 완전히 다릅니다.

참고: 위의 프로그램은 온라인 IDE에서 실행되지 않을 수 있습니다. 오프라인 컴파일러를 사용하십시오. 지정된 수평 및 수직 간격으로 새 카드 레이아웃을 만듭니다. 지정된 구성 요소를 이 카드 레이아웃의 내부 이름 테이블에 추가합니다. 참고로, 그것은 당신이 당신의 카드 레이아웃을 “새로”나타나지 않습니다. 그렇게 해야 합니다. CardLayout 클래스는 한 번에 하나의 구성 요소만 표시되도록 구성 요소를 관리합니다.

liftdivision