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 MyFrame4 extends JFrame{
JButton button;
public MyFrame4() {
initData();
setInitLayout();
addEventListener();
}
private void initData() {
//초기화작업 null 포인트가 뜬다면 이닛에서 확인
setTitle("익명구현객체사용 연습");
setSize(500, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
button = new JButton("버튼1");
}
private void setInitLayout() {
//원하는대로 배치가 되지않았다면 확인
setVisible(true);
add(button);
setLayout(new FlowLayout());
}
private void addEventListener() {
//버튼을 클릭했는데 이벤트가 일어나지 않는다면 확인
//익명 구현 객체 -*******실무***
//일회성의 인터페이스를 익명 객체로 만들어서 사용할 수 있다.
// 내부 클래스 --> 익명 내부 클래스
button.addActionListener(new ActionListener() {
//이름이 없어 호출할 수없으나 내부에서 호출해서 사용
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("버튼이 클릭됨");
}//버튼 하나만 이용할때 addActionListener 등록할때 actionPerformed로 바로 지정
});
//
}
}
public class EventListenerEx4 {
public static void main(String[] args) {
new MyFrame4();
}
}