피드로 돌아가기
새로워지기·서른의 생활코딩

ex8) java.awt.*

NS
normalstory
표지 이미지
/*
import java.awt.*;
import java.awt.event.*;

public class CardLayoutTest {
     private Frame frame;
     private Button b1,b2,b3;
     private CardLayout card;

     public static void main(String[] args) {
          frame = new Frame("CardLayout");
          card = new CardLayout();
          frame.setLayout(card);
     }
}
**/




import java.awt.*;
import java.awt.event.*;

public class CardLayoutTest {
     private Frame frame;
     private Button b1, b2, b3;
     private CardLayout card;

     public CardLayoutTest() { //생성자: 화면구성!!!
          // 프레임 객체 생성
          frame = new Frame( "CardLayout" );
          // CardLayout 객체 생성
          card = new CardLayout();
          // frame의 LayoutManager를 바꿈
          frame.setLayout( card );

          // 버튼 객체 생성
          b1 = new Button( "Button1" );
          b2 = new Button( "Button2" );
          b3 = new Button( "Button3" );

          // 윈도우 종료 이벤트
          frame.addWindowListener( new WindowAdapter() {
               public void windowClosing( WindowEvent e ) {
               System.exit( 0 );
               }
          });

          //버튼 하나씩을 각각의 Panel에 붙인다.
          Panel panel1 = new Panel(); //FlowLayout
          panel1.add( b1 );
          Panel panel2 = new Panel();
          panel2.setLayout( new BorderLayout() );  //BorderLayout
          panel2.add( b2, "Center" );
          Panel panel3 = new Panel(); //FlowLayout
          panel3.add( b3 );

          //프레임에 붙이는 3개의 Panel에 이름을 붙여줌
          frame.add( panel1, "First" );    // "First" 별명을 사용해 추후 컨트롤함!
          frame.add( panel2, "Second" );
          frame.add( panel3, "Third" );

          //화면에 출력될 Panel을 선정
          card.show( frame, "First" );
          frame.setSize( 300, 200 );
          frame.setVisible( true );
     }



     //두번째, 세번째 카드를 출력 시켜 주는 메소드
     public void showCard() {
          boolean flag = true;
          int count = 0;

          //일정 시간이 흘르면 다른 카드를 보여 주기 위한
          //무한 루프
          while( flag ) {
               if( count == 300000000 ) {
                    //두번째 카드를 프레임에 출력
                    card.show( frame, "Second" );
               } else if( count == 999999999 ) {
                    //세번째 카드를 프레임에 출력
                    card.show( frame, "Third" );
                    flag = false;
               }
          count++;
          }
     }
     public static void main( String[] args ) {
          CardLayoutTest ct = new CardLayoutTest();
          ct.showCard();
     }
}
친절한 찰쓰씨
글쓴이
친절한 찰쓰씨
친절한 찰쓰씨 · 일상 UX 디자이너
기획·디자인·단상을 조용히 기록합니다.
작가 페이지에서 더 보기

이어서 읽기

새로워지기

꾸준히, 오래, 지치지 않고

Mar 31, 2026·8
새로워지기

테크 라이프 발란스

Feb 7, 2026·3
새로워지기

휴탈리티 박정렬

Feb 7, 2026·11