[Java] 실습 (event)

2022. 8. 18. 17:44·Language/Java
728x90
package swing.listener;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class AnonymousClassListener extends JFrame {
	AnonymousClassListener() {
		setTitle("Action Event Listener");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new FlowLayout());
		
		JButton btn = new JButton("Action");
		// 익명의 클래스로 이벤트 리스너를 작성한다.
		btn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JButton btn = (JButton)e.getSource();
				
				if(btn.getText().equals("Action")) {
					btn.setText("액션");
				} else {
					btn.setText("Action");
				}
			}
		});
		add(btn);
		
		setSize(300, 160);
		setVisible(true);
	}
	public static void main(String[] args) {
		new AnonymousClassListener();

	}

}
package swing.listener;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class InnerClassListener extends JFrame{
	InnerClassListener() {
		setTitle("Action Event Listener");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new FlowLayout());
		
		JButton btn	= new JButton("Action");
		// 이벤트 리스너를 등록한다.
		MyActionListener listener = new MyActionListener();	// Mouse Event Listener 객체를 생성한다.
		btn.addActionListener(listener);			// Mouse Event Listener 등록
		add(btn);
		
		setSize(300, 160);
		setVisible(true);
	}

	//private으로 선언하여 InnerClassListener의 외부에서는 사용할 수 없게 하였다.
	private class MyActionListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			JButton btn = (JButton)e.getSource();
			
			if(btn.getText().equals("Action")) {
				btn.setText("액션");
			} else {
				btn.setText("Action");
			}
		}
	}
	public static void main(String[] args) {
		new InnerClassListener();

	}

}
package swing.listener;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class ListenerExam extends JFrame{
	ListenerExam() {
		setTitle("Action Event Listener");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new FlowLayout());
		
		JButton btn	= new JButton("Action");
		// 이벤트 리스너를 등록한다.
		MyActionListener listener = new MyActionListener();	// Mouse Event Listener 객체를 생성한다.
		btn.addActionListener(listener);			// Mouse Event Listener 등록
		add(btn);
		
		setSize(300, 160);
		setVisible(true);
	}

	public static void main(String[] args) {
		new ListenerExam();
	}

}

class MyActionListener implements ActionListener {
	public void actionPerformed(ActionEvent e) {
		JButton btn = (JButton)e.getSource();
		
		if(btn.getText().equals("Action")) {
			btn.setText("액션");
		} else {
			btn.setText("Action");
		}
	}
}

실행 결과

반응형

'Language > Java' 카테고리의 다른 글

[Java] 실습 (event) Click  (0) 2022.08.18
[Java] 실습 (event)  (0) 2022.08.18
[Java] 실습 (evevt) 리스너  (0) 2022.08.18
[Java] 실습 (event) 상 하 좌 우키로 글자 움직이기  (0) 2022.08.18
[Java] 실습 (frame)  (0) 2022.08.16
'Language/Java' 카테고리의 다른 글
  • [Java] 실습 (event) Click
  • [Java] 실습 (event)
  • [Java] 실습 (evevt) 리스너
  • [Java] 실습 (event) 상 하 좌 우키로 글자 움직이기
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (510)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (72)
        • 공부 (18)
        • 기타 (6)
        • 일 (48)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바스크립트
    object
    타입스크립트
    array
    TypeScript
    react
    객체
    HTML
    next.js
    파이썬
    web
    JavaScript
    MySQL
    Java
    event
    제어문
    변수
    리액트
    CSS
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
[Java] 실습 (event)
상단으로

티스토리툴바