라디오버튼은 참조
https://blog.naver.com/skykingkjs/150145068901
main
package awtSample07;
public class mainClass {
public static void main(String[] args) {
new WindowTest();
}
}
windowTest
public class WindowTest extends JFrame implements ItemListener{
Checkbox cb1,cb2,cb3,cb4,cb5,cb6;//체크박스 생성
Label label1,label2;
JRadioButton radioBtn[] = new JRadioButton[3];
JPanel panel = new JPanel();
public WindowTest() {
/*
Check Box(취미) - 다중선택
Radio Button - 하나 선택(다른하나는 꺼짐)
AWT : radio버튼 없음 -> checkbox사용
swing : 버튼 있음 -> JRadioButton
*/
CheckboxGroup cbg1 = new CheckboxGroup();
//cb1,cb2,cb3
cb1 = new Checkbox("사과", cbg1, true);//마지막은 체크가 됐는지 설정
cb2 = new Checkbox("배", cbg1, false);//마지막은 체크가 됐는지 설정
cb3 = new Checkbox("바나나", cbg1, false);//마지막은 체크가 됐는지 설정
CheckboxGroup cbg2 = new CheckboxGroup();
cb4 = new Checkbox("빨강", cbg2, false);
cb5 = new Checkbox("파랑", cbg2, true);//->12345는 스윙에서 라디오 버튼
cb6 = new Checkbox("exit");//윈도우 꺼지는 이벤트 발생-> 체크박스
label1 = new Label("label1");
label2 = new Label("label2");
add(cb1);
add(cb2);
add(cb3);
add(cb4);
add(cb5);
add(cb6);
cb1.addItemListener(this);
cb2.addItemListener(this);
cb3.addItemListener(this);
cb4.addItemListener(this);
cb5.addItemListener(this);
cb6.addItemListener(this);
//위를 list아닌 배열로 사용하면 편함
add(label1);
add(label2);
setLayout(new FlowLayout());
setBounds(0, 0, 640, 480);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void itemStateChanged(ItemEvent e) {
// JOptionPane.showMessageDialog(null, "클릭");
//위에 cb1.addItemListener(this) 추가해야 확인창이 뜸
Object obj = e.getSource();
//Button btn = (Button)e.getSource();<-버튼만 사용가능하므로 제외
//아래가 전체 사용하는 방법
if (obj == cb6/*나가는것*/) {//obj와 직접비교 가능
Checkbox cb = (Checkbox)obj;
if (cb.getState()) {//체크 되었음을 의미
System.exit(0);//exit을 체크하면 창이 꺼지게 만듬
}else {//체크가 안되었을때
}
}else if (obj == cb1 || obj == cb2 || obj == cb3) {
Checkbox cb = (Checkbox)obj;
if (cb.getState()) {
label1.setText(cb.getLabel());//선택한 과일이 label1에 나오게 함
}
}else if (obj == cb4 || obj == cb5) {
Checkbox cb = (Checkbox)obj;
if (cb.getState()) {
label2.setText(cb.getLabel());//선택한 색이 label2에 나오게 함
}
}
}
}
'JAVA > UI' 카테고리의 다른 글
버튼 클릭하여 새로운 창 열기1 (Frame 새로생성) (0) | 2020.06.12 |
---|---|
layout(버튼과 라벨 기본셋팅) (0) | 2020.06.12 |
가위바위보 게임 프로그램 (0) | 2020.06.12 |
label / 확인창 뜨게하기 (0) | 2020.06.11 |
Observer (0) | 2020.06.11 |