Java(GUI)_Event_31

2024. 11. 7. 17:57·Java/기초 내용 정리

2024-11-07

 

 

 

 

 

 

package basic;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Ex31_Event extends JFrame {

	CardLayout cardLayout;
	JPanel cardPanel;
	
	public Ex31_Event() {
	
		cardPanel = new JPanel(new CardLayout());
	
		//  카드 패널에 추가할 각각의 카드들
		JPanel card1 = new JPanel();
		card1.add(new JLabel("Card 1"));
		card1.setBackground(Color.BLUE);
		
		JPanel card2 = new JPanel();
		card2.add(new JLabel("Card 2"));
		card2.setBackground(Color.YELLOW);
		
		JPanel card3 = new JPanel();
		card3.add(new JLabel("Card 3"));
		card3.setBackground(Color.LIGHT_GRAY);
		
		cardPanel.add(card1, "Card 1");
		cardPanel.add(card2, "Card 2");
		cardPanel.add(card3, "Card 3");
		
		cardLayout = (CardLayout)cardPanel.getLayout();
		
		//  버튼 컴포넌트를 생성하여 클릭 시 다음 카드로 이동하게 설정
		JButton button = new JButton("Next Card");
		
		setLayout(new BorderLayout());
		
		add(cardPanel, BorderLayout.CENTER);
		add(button, BorderLayout.SOUTH);
		
		setBounds(100, 100, 300, 300);
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		setVisible(true);
		
		button.addActionListener(new ActionListener() {
			
			int count = 0;
			
			@Override
			public void actionPerformed(ActionEvent e) {
		
				count++;
				
				if(count >= 3) {
					count = 0;		//  3번째 카드 보여진 후 다시 처음으로 돌아감.
				}
				cardLayout.show(cardPanel, "Card " + (count + 1));
			}
		});
	}
	
	public static void main(String[] args) {
		
		new Ex31_Event();
	}
}

'Java > 기초 내용 정리' 카테고리의 다른 글

Java(Collection)_05  (0) 2024.11.08
Java(GUI)_Event_32~33  (0) 2024.11.07
Java(GUI)_Event_30  (0) 2024.11.07
Java(GUI)_Event_29  (0) 2024.11.07
Java(Collection)_04  (0) 2024.11.07
'Java/기초 내용 정리' 카테고리의 다른 글
  • Java(Collection)_05
  • Java(GUI)_Event_32~33
  • Java(GUI)_Event_30
  • Java(GUI)_Event_29
mw41817
mw41817
일생의 개발 기록 저장소
  • mw41817
    IT 개발 일지
    mw41817
    • Index (487)
      • HTML (36)
        • 기초 내용 정리 (36)
      • CSS (29)
        • 기초 내용 정리 (29)
      • JavaScript (60)
        • 기초 내용 정리 (60)
      • JQuery (38)
        • 기초 내용 정리 (38)
      • Java (232)
        • 기초 내용 정리 (232)
      • JSP (46)
        • 기초 내용 정리 (46)
      • Spring, Boot (31)
        • 기초 내용 정리 (31)
      • DB (5)
        • Oracle SQL (5)
      • Code WorkBook (6)
        • programmers (6)
        • Baekjoon (0)
      • 기타 (1)
        • 유용한 사이트 (3)
  • 전체
    오늘
    어제
  • 글쓰기 관리
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 카테고리
    • 주인장 GitHub
  • 공지사항

  • 인기 글

  • 태그

    html #코딩 #프로그래밍 #기초
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
mw41817
Java(GUI)_Event_31
상단으로

티스토리툴바