[JAVA] ActionEvent 예제_1

정은아·2022년 8월 5일
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;

public class ActionEvent_1 extends Frame implements ActionListener {
	
	Label lbl_info;
	Button btn1, btn2, btn3;
	
	public ActionEvent_1(String title)
	{
		super(title);
		
		lbl_info = new Label("버튼을 눌러주세요.");
		btn1 = new Button("◀ Button");
		btn2 = new Button("●");
		btn3 = new Button("▶ Button");
		
		btn1.addActionListener(this); 
		btn2.addActionListener(this);
		btn3.addActionListener(this); 
		
		Panel panel = new Panel();
		
		panel.add(btn1);
		panel.add(btn2); 
		panel.add(btn3);
		
		add("Center", panel);
		add("South", lbl_info);
		
		setSize(300, 200);
		setVisible(true);
		
	}
	public static void main(String[] args) {
		new ActionEvent_1("ActionEvent test~");
	}
	@Override 
	public void actionPerformed(ActionEvent e) 
	{
		Object obj = e.getSource();  
		
		if ((Button) obj == btn1) 
		{
			lbl_info.setText("왼쪽 버튼이 눌렸습니다.");
			System.out.println("왼쪽 버튼이 눌렸습니다.");
		}
		else if((Button) obj == btn2)
		{
			lbl_info.setText("가운데 버튼이 눌렸습니다.");
			System.out.println("가운데 버튼이 눌렸습니다.");
		}
		else 
		{
			lbl_info.setText("오른쪽 버튼이 눌렸습니다.");
			System.out.println("오른쪽 버튼이 눌렸습니다.");
		}
	}
}
btn1.addActionListener(this); 

의 뜻은 이 버튼에서 이벤트가 발생하면 처리하겠다. 라는 말입니다.

 Panel panel = new Panel();

패널은 기본적으로 flowlayout이라 왼쪽으로 정렬배치됩니다.

@Override은 ActionListener implements 해서 나온 오버라이딩입니다.

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글