back/Java

KH 27일차(AWT ActionEvent)

devel0per 2022. 8. 6. 20:02

27차인 오늘은 AWT ActionEvent에 대해서 학습했다.

 

"ActionListener" 이라는 interface 안에 actionPerformed를 재 정의해서 해당 메소드안에 실행코드를 입력하면

지정한 Component의 액션이 발생했을 때, 실행코드가 작동하게 된다.

 

package ja_0805;

import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;

public class ActionEvent_1 extends Frame implements ActionListener{

	Label lbl_info;
	Button btn1, btn2, btn3;
	
	Date date = new Date();
	
	public ActionEvent_1(String str) {
		super(str);
		
		lbl_info = new Label("버튼을 눌러주세요");
		btn1 = new Button(" < 버튼 ");
		btn2 = new Button(" > 버튼 ");
		btn3 = new Button(" O 버튼 ");
		btn1.addActionListener(this);
		btn2.addActionListener(this);
		btn3.addActionListener(this);
		
		Panel panel = new Panel();
		
		panel.add(btn1);
		panel.add(btn3);
		panel.add(btn2);
		
		add("Center", panel);
		add("South", lbl_info);
		setSize(300, 200);
		setVisible(true);
		
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		
		Object obj = e.getSource();
		
		if((Button) obj == btn1) {
			lbl_info.setText("왼쪽 버튼이 눌렸습니다.");
			System.out.println("왼쪽 버튼이 눌렸습니다." + date);
		}else if((Button) obj == btn3) {
			lbl_info.setText("가운데 버튼이 눌렸습니다.");
			System.out.println("가운데 버튼이 눌렸습니다." + date);
		}else {
			lbl_info.setText("오른쪽 버튼이 눌렸습니다.");
			System.out.println("오른쪽 버튼이 눌렸습니다." + date);
		}
		
	}
	
	public static void main(String[] args) {
		new ActionEvent_1("오늘은 금요일");
	}
}