package com.event;//이벤트 처리 (소스, 핸들러 ,리스너)

import java.awt.Panel;
import java.awt.Button;
import java.awt.TextArea;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.BorderLayout;

public class ActionEventEx extends Frame implements ActionListener{
													//이벤트 리스너
	/*이벤트 처리순서
	1. 이벤트 소스와 이벤트 리스너가 구현된 객체를 연결
	2. 이벤트 핸들러를 구현
	3.이벤트가 발생하면 연결되어 있는 이벤트 핸들러가 호출 
	JVM은 이벤트 객체를 생성해서 이벤트 핸들러에 전달됨*/
	
	Panel p;
	Button input,exit;
	TextArea ta;

	public ActionEventEx(){

		super("ActionEvent Test");

		p=new Panel();
		
		//이벤트 소스
		input=new Button("입력");
		exit=new Button("종료");
		ta = new TextArea();

		
		//이벤트 소스와 이벤트 리스너가 구현된 이벤트 처리 객체와 연결
		input.addActionListener(this);
		exit.addActionListener(this);

		p.add(input);
		p.add(exit);
		
		add(p, BorderLayout.NORTH);
		add(ta, BorderLayout.CENTER);

		setBounds(300,300, 300,200);
		setVisible(true);

	}

	//이벤트 핸들러
	//이벤트 소스와 이벤트 리스너가 구현된 객체 연결했기 때문에
	//이벤트가 발생하면 자동적으로 이벤트 핸들러 호출됨
	public void actionPerformed(ActionEvent ae){
								//이벤트 객체
								//JVM이 이벤트가 발생하면 이벤트 종류분석해서
								//해당 이벤트 정보를 담을 수 있는 객체 생성
		String name;
		name=ae.getActionCommand();

		if(name.equals("입력"))
			ta.append("버튼이 입력되었습니다.\n");
		else
			System.exit(0); //프로그램 정상 종료
	}



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


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

Key Event  (0) 2012.04.13
Iteam Event  (0) 2012.04.13
AWT 프레임의 배치관리자로 보더 레이아웃 설정하기  (0) 2012.04.13
AWT Penel 테스트  (0) 2012.04.13
AWT로 버튼생성  (0) 2012.04.13

+ Recent posts