俺だけの秘密基地 IT系技術局
Java関連技術情報セクション

CheckBoxについての考察

通常、CheckBoxは「チェックされている」「チェックされていない」の二択で使用しますが、さらに「未定義」という状態を含めた三択で使用することができます。「未定義」という表現が少し分かりづらく感じたので、本サイトでは、当該CheckBoxの項目は「対象外の場合」という意味でとらえています。CheckBoxで選択する項目自体が、対象外の場合などに使用するのではないかと思います。
使用方法としては、まずプロパティindeterminateプロパティの内容で、当該CheckBoxが「対象」又は「対象外」の判断をします。その後に、CheckBoxが「対象」の場合に限り、チェック有り/無しの判定をします。

【 対象外/チェック有り/チェック無しの3択 】
1 対象外
(indeterminate=true)
-
【 対象外 】
2 対象
(indeterminate=false)
チェック有り
(Selected=true)
【 チェック有り 】
3 チェック無し
(Selected=false)
【 チェック無し 】

CheckBoxを対象外(未定義)にする

当該CheckBoxを対象外(未定義)にするには、setIndeterminateメソッドを使用して、プロパティindeterminateをtrueに設定します。

【 サンプルソース No.1 CheckBoxを対象外にする 】

実行結果

【 サンプルソース No.1 実行結果 】

CheckBoxを対象外にしている箇所

CheckBoxの入力値を、checked、unchecked、undefinedの循環切替に設定する

CheckBoxの状態を「チェック有り」「チェック無し」「対象外」の循環切替にすることが可能です。 setAllowIndeterminateメソッドを使用して、allowIndeterminateをtrueに設定することで、CheckBoxの入力値をchecked、unchecked、undefinedの循環切り替えに設定することが可能です。

【 サンプルソース No.1 CheckBoxを循環切替に設定する 】

実行結果


CheckBoxをクリックするたびに3つの状態を循環切替する。
CheckBoxを循環切替にしている箇所




Back JavaFX Menu