AWT>Checkbox
체크 상태를 On/Off 할수 있는 스위치
그룹묶기 가능
*
import java.awt.*;
import java.awt.event.*;public class TestCheckboxes extends Frame implements ItemListener {
Checkbox cbWhiteBread;
Checkbox cbWheatBread;
Checkbox cbRyeBread;
Checkbox cbToasted; //변수 선언
TextField tField;
public TestCheckboxes() {
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) { //체크박스의 상태가 변할때 호출된다.
// TODO Auto-generated method stub
Checkbox cb = (Checkbox)ie.getItemSelectable(); //핸들
if(cb.getState()) tField.setText(cb.getLabel()); //객체의 상태를 체크하고
else tField.setText("Not " + cb.getLabel()); //해당 객체의 레이블 출력
}public static void main(String[] args) {
TestCheckboxes tcb = new TestCheckboxes();
}
}
class WinCloser extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}*
그룹으로 묶은 것
*
import java.awt.*;
import java.awt.event.*;public class TestCheckboxGroup extends Frame implements ItemListener {
Checkbox cbWhiteBread;
Checkbox cbWheatBread;
Checkbox cbRyeBread;
Checkbox cbToasted;
TextField tField;
public TestCheckboxGroup() {
//생성자를 이용해 지역객체 선언
CheckboxGroup cbgBread = new CheckboxGroup();
//체크박스를 그룹으로 묶는다
//체크박스 생성자에 그룹이름을 추가
cbWhiteBread = new Checkbox("White Bread", cbgBread, false);
cbWhiteBread.addItemListener(this);
cbWheatBread = new Checkbox("Wheat Bread", cbgBread, false);
cbWheatBread.addItemListener(this);
cbRyeBread = new Checkbox("Rye Bread", cbgBread, 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) {
Checkbox cb = (Checkbox)ie.getItemSelectable();
if(cb.getState()) tField.setText(cb.getLabel());
else tField.setText("Not " + cb.getLabel());
}public static void main(String[] args) {
TestCheckboxGroup tcb = new TestCheckboxGroup();
}
}class WinCloser extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}*
그룹으로 묶인 것과 별도의 것은 체크박스의 모양이 다르다.