Java(GUI)_Layout_27

2024. 11. 6. 18:31·Java/기초 내용 정리

20214-11-06

 

 

 

 

 

package basic;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

//  독립된 클래스를 작성하여 이벤트를 처리
class MyButton implements ActionListener {

	@Override
	public void actionPerformed(ActionEvent e) {
		
		//  getSource() : 현재 발생한 이벤트 소스 컴포넌트의 정보(레퍼런스)를
		//				  반환해 주는 메서드. 반환타입이 Object 타입이므로
		//				  원래의 타입으로 형변환을 해 주어야 함.
		JButton button = (JButton)e.getSource();
		
		if (button.getText().equals("JAVA")) {
			button.setText("자바");
		} else {
			button.setText("JAVA");
		}
	}
}

public class Ex27_Event extends JFrame {

	public Ex27_Event() {
	
		setTitle("버튼 이벤트");
		
		JPanel container = new JPanel();
		
		//  1. 컴포넌트를 만들어 보자.
		JButton button = new JButton("JAVA");
		
		//  2. 컴포넌트를 컨테이너에 올려야 한다.
		container.add(button);
		
		//  3. 컨테이너를 프레임에 올려야 한다.
		add(container);
		
		setBounds(200, 200, 100, 100);
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		setVisible(true);
		
		//  이밴트를 처리하는 방법
		//  이벤트와 관련하여 독립된 클래스를 생성하여 처리하는 방법.
		MyButton listener = new MyButton();
		
		button.addActionListener(listener);
	}
	
	public static void main(String[] args) {
		
		new Ex27_Event();
	}
}

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

Java(Generic)_01  (0) 2024.11.07
Java(GUI)_Layout_28  (0) 2024.11.06
Java(GUI)_Layout_26  (0) 2024.11.06
Java(GUI)_Layout_25  (0) 2024.11.06
Java(GUI)_Layout_24  (1) 2024.11.06
'Java/기초 내용 정리' 카테고리의 다른 글
  • Java(Generic)_01
  • Java(GUI)_Layout_28
  • Java(GUI)_Layout_26
  • Java(GUI)_Layout_25
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)_Layout_27
상단으로

티스토리툴바