ItemListener 인터페이스
메소드 : itemStateChanged()
List, Checkbox, Choice같은 객체에서 사용자가 변경할때마다 호출
ItemEvent 제공 메소드 : getItemSelectable()
이벤트를 생성한 항목을 말해준다.
항목서브자료형으로 캐스팅 한다.
사용자가 변경하고자 하는 것을 알기위해 서브자료형의 메소드를 사용
package EventListener;
import java.awt.*;
import java.awt.event.*;
//ItemListener인터페이스를 자체적으로 구현한다.
public class TestCheckBoxes2 extends Frame implements ItemListener {
Checkbox cbWhiteBread;
Checkbox cbWheatBread;
Checkbox cbRyeBread;
Checkbox cbToasted; //체크박스 생성
TextField tField; //텍스트필드 출력
public TestCheckBoxes2() {
//각 체크박스 생성, 상태지정, 리스너 등록
cbWhiteBread = new Checkbox("White Bread");
cbWhiteBread.setState(false);
cbWhiteBread.addItemListener(this);
cbWheatBread = new Checkbox("Wheat Bread");
cbWheatBread.setState(false);
cbWheatBread.addItemListener(this);
cbRyeBread = new Checkbox("Rye Bread");
cbRyeBread.setState(false);
cbRyeBread.addItemListener(this);
cbToasted = new Checkbox("Toasted");
cbToasted.setState(false);
cbToasted.addItemListener(this);
tField = new TextField(30);
setLayout(new FlowLayout());
add(cbWhiteBread);
add(cbWheatBread);
add(cbRyeBread);
add(cbToasted);
add(tField);
addWindowListener(new WinCloser());
setTitle("Using Checkboxes");
setBounds(100,100,300,300);
setVisible(true);
}
public void itemStateChanged(ItemEvent ie) { //ItemEvent객체 넘겨줌
Checkbox cb = (Checkbox)ie.getItemSelectable(); //이벤트를 발생시켰던 항목 전달(형변환)
if(cb.getState()) //체크박스의 현재값을 기준으로 true/false 반환
tField.setText(cb.getLabel() + " was set to true");
else
tField.setText(cb.getLabel() + " was set to false");
}
public static void main(String[] args) {
TestCheckBoxes2 tcb = new TestCheckBoxes2();
}
}
- 최근에 변한 값을 출력한다.