DOC-03-06 复选框(Checkbox)

本章教你如何在你的JavaFX应用程序中添加Checkbox

尽管CheckboxRadio Button看起来相似,但是它不能组合到Toggle Group来使得同时选中多项。请查看Radio ButtonToggle Button章节以获取更多信息。

6-1显示了一个应用程序的截图,其中包含三个checkbox可以控制应用程序工具栏图标的显示与否。

6-1 Checkbox示例

3-6-1 checkboxes

创建一个Checkbox

6-1创建了两个简单的checkbox

6-1 创建Checkbox

一旦你已经创建了一个Checkbox,你可以通过JavaFX API中的方法来修改它。例6-1中,通过setText 方法为cb1设置了文本标题,调用setSelected方法并传入true,使得cb1在应用程序启动时是选中状态。

定义状态

Checkbox的状态可以是定义的或者未定义的。当它被定义后,你可以选中或者取消选中它。但是当它未被定义时,它不能被选中或者取消选中。组合使用CheckBox setSelected setIndeterminate 方法来为CheckBox指定状态。表格6-1展示了Checkbox基于INDETERMINATESELECTED 属性的三种状态。

表格6-1 Checkbox的状态

属性值

Checkbox外观

INDETERMINATE = false

SELECTED = false

3-6-3-1 checkbox-state1

INDETERMINATE =false

SELECTED = true

3-6-3-2 checkbox-state3

INDETERMINATE = true

SELECTED = true/false

3-6-3-3 checkbox-state2

在你的应用程序中,当需要用Checkbox展示多种混合状态的界面元素时,你可能需要启动Checkbox的三种状态。比如:是,否,不适用。CheckBox对象的allowIndeterminate属性决定了Checkbox是否在所有的三个状态之间循环变换:选中的,非选中的,未定义的。如果属性值是trueCheckbox将在这三个状态之间循环。如果属性值是falseCheckbox将在选中和非选中状态之间循环。下一节介绍的应用程序构造了三个Checkbox,且只启用了两个状态。

设置行为

代码片段例6-2创建了三个Checkbox,如果某个Checkbox被选中,其对应的图标将会显示在工具栏中。

6-2 Checkbox设置行为

 

循环遍历数组names来创建一组Checkbox和一组与之对应的Icon。比如,第一个Checkbox cbs[0]被指定了文字标题Security。同时,第一个Iconimage对象被创建时,image[0] 接受“Security.png”作为getResourceStream 方法的文件名。如果一个指定的checkbox被选中,其对应的image对象会被指定给icon。而如果一个Checkbox被取消选中,icon对象会接收一个空image对象,icon就不会被渲染出来。

6-2显示了SecurityChart选中,而Project未选中时的应用程序运行结果。

6-2 Checkbox应用程序

3-6-2 checkboxes-two

相关的API文档

    · CheckBox

    · JavaFX CSS Specification

打赏一下
支付宝
微信
除非注明,博客文章均为原创,转载请标明文章地址
本文地址: http://www.javafxchina.net/blog/2015/04/doc03_checkbox/
百度已收录