Java/Excercise

swing ch05 EventListenerEx1

낭구리 2021. 9. 6. 16:58
package ch05;

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

import javax.swing.JButton;
import javax.swing.JFrame;

class MyFrame1 extends JFrame implements ActionListener{
	
	JButton button;
	
	public MyFrame1() {
		initData();
		setInitLayout();
		addEventListener();
	}
	private void initData() {
		setTitle("이벤트 리스너 연습");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(500,500);
		button = new JButton("button1");
		
	}
	
	private void setInitLayout() {
		setVisible(true);
		setLayout(new FlowLayout());
		add(button);
		
	}
	private void addEventListener() {
		button.addActionListener(this);//등록해서 actionPerformed 메서드 호출
		//this를 쓰는것은 ActionListener 이라는 인터페이스를 매개변수로 사용하여 사용하기때문에
//		ActionListener가 없으면 실행이 안되고 implements 를 사용하여 ActionListener를 써 this를 사용가능
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		System.out.println("콜백메서드 실행"); 
		//actionPerformed를 선언하지않았지만 이것들이 실행이 될수있도록 "약속"이 되어있다.
		//
		System.out.println("버튼이 클릭되었습니다.");
		System.out.println(e.toString());
	}
}




public class EventListenerEx1 {

	public static void main(String[] args) {

		new MyFrame1();
	}

}

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

swing ch05 EventListenerEx3  (0) 2021.09.06
swing ch05 EventListenerEx2  (0) 2021.09.06
generic ch05 Point  (0) 2021.09.06
swing ch04 MainTest2  (0) 2021.09.03
swing ch04 MainTest  (0) 2021.09.03