2014년 9월 11일 목요일

JavaFX UI - 5.Checkbox


Checkbox는 radio button과 유사해보이지만, 하나의 그룹에 묶어 상호배타적인 선택을 할 수 없고 각각 독립적으로 선택되거나 해제된다.

아래 화면은 checkbox들의 선택 여부에 따라 어플리케이션 툴바의 아이콘이 활성화/비활성화되는 예시이다.




1. Creating Checkboxes

아래
예제에서는 두 개의 checkbox를 생성한다.

Example 5-1 Creating Checkboxes



2. Defining a State

Checkbox
의 상태는 두 가지 프로퍼티 (INDETERMINATE와 SELECTED)에 의해 결정된다. INDETERMINATEfalse이면 그 checkbox는 선택되거나 해제될 수 있다. 하지만 INDETERMINATEtrue이면 선택, 해제가 불가능하다.

Checkbox의 상태를 설정하기 위해서는 CheckBox 클래스의 setSelected 메서드와 Indeterminate 메서드를 조합하여 사용한다. 아래 표는 두 프로퍼티에 따른 checkbox의 상태를 보여준다.



때에 따라 checkbox를 통해 세 가지 상태를 표현해야 할 경우도 있다. (예를 들면, ‘Yes’, ‘No’, ‘Not Applicable’) CheckBox의 ‘allowIndeterminate’ 프로퍼티는 checkbox가 세 가지 상태 (selected, deselected, undefined)를 순환해야 할 지를 설정한다. 만약 이 프로퍼티가 true이면 checkbox는 세 가지 상태롤 순환할 것이며, false이면 selected, unselected 상태만 순환할 것이다.


3. Setting the Behavior

아래 예제는
세 개의 checkbox를 생성하고, 이들 checkbox의 선택 여부에 따라 그에 해당하는 툴바 버튼을 보이거나 숨긴다.

Example 5-2 Setting the Behavior for the Checkboxes



name 배열에 대한 for 루프 내에서 각각의 이름에 해당하는 checkbox와 아이콘을 생성하고 checkbox의 선택여부에 따라 아이콘을 보이거나 숨긴다.

위 예제의 결과 화면은 아래와 같으며, ‘Security’와 ‘Chart’가 선택된 상태이다.

댓글 없음:

댓글 쓰기