package com.event;//ItemEvent 살펴보기
import java.awt.Panel;
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.TextArea;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class ItemEventEx extends Frame implements ItemListener,ActionListener{
//패널로 감싸서 확대시키지 않음
Panel p1 = new Panel();
Panel p2 = new Panel();
TextArea ta = new TextArea(5,20);
//이벤트 소스
Button exit = new Button("종료");
Checkbox cb1 = new Checkbox("축구",false);
Checkbox cb2 = new Checkbox("야구",false);
Checkbox cb3 = new Checkbox("농구",false);
Checkbox cb4 = new Checkbox("배구",false); //기본적으로 체크를 안시키려면 false
public ItemEventEx(){
super("ItemEvent 테스트");
p1.add(cb1);
p1.add(cb2);
p1.add(cb3);
p1.add(cb4);
p2.add(exit);
add("North",p1);
add("South",p2);
add("Center",ta);
setBounds(300,300,300,300);
setVisible(true);
//이벤트 소스와 이벤트 리스너가 구현된 객체
exit.addActionListener(this);
cb1.addItemListener(this);
cb2.addItemListener(this);
cb3.addItemListener(this);
cb4.addItemListener(this);
}
public static void main(String[] args) {
new ItemEventEx();
}
//ActionEvent를 처리하는 이벤트 핸들러
public void actionPerformed(ActionEvent e){
System.exit(0);
}
//ItemEvent를 처리하는 이벤트 핸들러
public void itemStateChanged(ItemEvent e){
if(e.getStateChange()==ItemEvent.SELECTED)
ta.append(e.getItem() + "을 선택\n\n");
else if(e.getStateChange() == ItemEvent.DESELECTED)
ta.append(e.getItem()+"을 취소\n\n");
}
}