1. Checkbox


# '"on" (true) 또는 "off" (false) 상태로 나타낼 수 있는 구성 요소 / 중복 선택 가능 


1) Constructor

Checkbox()

Checkbox(String label): label을 붙여 생성 (state 상태가 없으면 false가 기본값이다)

Checkbox(String label, boolean state): label을 붙이고 true 또는 false 상태를 지정한다. true인 경우 체크박스에 체크되어 있다. 

Checkbox(String label, boolean state, CheckboxGroup group): 중복 선택이 안되는 CheckboxGroup에 포함시킨다. 

Checkbox(String label, CheckboxGroup group, boolean state)


2) Method

- CheckboxGroup getCheckboxGroup(): 현재 포함되어 있는 CheckboxGroup을 가져온다.

- String getLabel(): 현재 지정된 label을 가져온다. 

- boolean getState(): 현재 지정된 상태를 가져온다. 

- void setCheckboxGroup(CheckboxGroup g): CheckboxGroup에 포함시킨다. 

- void setLabel(String label): label을 지정한다. 

- void setState(boolean state): 상태를 지정한다. 


# CheckBox 연습하기 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package guiex;
 
import java.awt.Checkbox;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
public class GuiTest04_CheckBox extends Frame {
    
    Checkbox ch1, ch2;
    
    public GuiTest04_CheckBox() {
        // #1. 컨테이너 
        super("CheckBox");
        setSize(200100);
        setLayout(new FlowLayout());
        
        // #2. CheckBox 컴포넌트
        ch1 = new Checkbox("스포츠");
        ch2 = new Checkbox("독서");
        
        ch1.setState(true);
        System.out.println("ch1.getCheckboxGroup: " + ch1.getCheckboxGroup());
        System.out.println("ch1.getState(): " + ch1.getState());
        System.out.println("ch2.getState(): " + ch2.getState());
        
        // #3. add() 
        add(ch1);
        add(ch2);
 
        setVisible(true);  
    }
    
    public static void main(String[] args) {
 
    }
}
 
# 실행 결과
ch1.getCheckboxGroup: null
ch1.getState(): true
ch2.getState(): false
cs

# 설명 

Line 23: ch1의 상태를 true 상태로 지정한다. 

Line 24: 현재 ch1에는 소속되어 있는 CheckboxGroup이 없기 때문에 null값이 반환된다. 


# 실행 화면


* 중복 선택이 가능하다.



2. CheckBoxGroup


# CheckBox를 묶어 그룹화를 하는 구성 요소 / 중복 선택 불가능 (Radio Button)


1) Constructor

- CheckboxGroup()


2) Method

- Checkbox getSelectedCheckbox(): 포함되어 있는 Checkbox 요소 중 true상태인 Checkbox를 반환한다. 

- void setSelectCheckbox(Checkbox box): true 상태로 변경할 Checkbox 요소를 지정한다.

- String toString(): CheckboxGroup에 대한 정보를 반환한다.


# CheckboxGroup 연습하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package guiex;
 
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
public class GuiTest04_CheckBoxGroup extends Frame {
    
    Checkbox ch3, ch4;
    CheckboxGroup cg;    // radio button
    
    public GuiTest04_CheckBoxGroup() {
        // #1. 컨테이너 
        super("CheckBoxGroup");
        setSize(200100);
        setLayout(new GridLayout(21));
        
        Panel p2 = new Panel();
        
        // #2. CheckBoxGroup 컴포넌트
        cg = new CheckboxGroup();
        ch3 = new Checkbox("남성"true, cg);
        ch4 = new Checkbox("여성"false, cg);
        
        cg.setSelectedCheckbox(ch4);
        System.out.println("cg.getSelectedCheckbox(): " + cg.getSelectedCheckbox());
        System.out.println("cg.toString(): " + cg.toString());
        
        // #3. add() 
        p2.add(ch3);
        p2.add(ch4);
        
        add(p2);
 
        setVisible(true);  
    }
    
    public static void main(String[] args) {
 
    }
}
 
# 실행 결과
cg.getSelectedCheckbox(): java.awt.Checkbox[checkbox0,0,0,0x0,invalid,label=여성,state=true]
cg.toString(): java.awt.CheckboxGroup[selectedCheckbox=java.awt.Checkbox[checkbox0,0,0,0x0,invalid,label=여성,state=true]]
cs

# 설명 

Line 29: 처음에는 ch3가 true 상태였지만 ch4를 true 상태로 바꾼다. 


# 실행 화면

'JAVA > JAVA2' 카테고리의 다른 글

JAVA2_day11 | GUI (LayoutManager)  (0) 2018.01.30
JAVA2_day11 | GUI (List, Choice)  (0) 2018.01.30
JAVA2_day11 | GUI (Label)  (0) 2018.01.30
JAVA2_day11 | GUI (TextField, TextArea)  (0) 2018.01.30
JAVA2_day11 | GUI (Button)  (0) 2018.01.29