Java/AWT
이벤트 처리
Bohemian life
2012. 4. 13. 22:01
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(); } }