复选框允许用户进行多项选择。例如,当订购披萨时,可以添加多个调味料。单选按钮或切换按钮用于单选或无选择。
创建复选框
我们可以使用CheckBox
中的构造函数来创建CheckBox
的对象。
创建不带标题的复选框,如下代码所示 -
CheckBox checkBox = new CheckBox()
要创建带有字符串标题的复选框,如下代码所示 -
CheckBox checkBox = new CheckBox("Second")
创建复选框后,我们可以更改其文本并将其选中。
checkBox.setText("First")
checkBox.setSelected(true)
复选框状态
可以使用CheckBox
来表示三个状态:
- Yes
- No
- Not Applicable(不适用)
“不适用”状态是调用不确定。 如果复选框不在不确定中,可以选择或不选择。 选择表示是,未选择表示否。
我们可以通过设置CheckBox
对象的allowIndeterminate
属性来选择支持Indeterminate
。
如果设置为true
,则复选框应该循环选择所有三个状态:选中
,取消选择
和未定义
。
如果设置为false
,复选框将循环选择和取消选择的状态。
示例
以下代码显示了如何向CheckBox
添加工具提示。
import javafx.application.Application
import javafx.beans.value.ChangeListener
import javafx.beans.value.ObservableValue
import javafx.geometry.Insets
import javafx.scene.Group
import javafx.scene.Scene
import javafx.scene.control.CheckBox
import javafx.scene.control.Label
import javafx.scene.control.Tooltip
import javafx.scene.layout.HBox
import javafx.scene.layout.VBox
import javafx.scene.text.Font
import javafx.stage.Stage
public class Main extends Application {
public static void main(String[] args) {
launch(args)
}
@Override
public void start(Stage stage) {
Scene scene = new Scene(new Group())
stage.setTitle("Tooltip Sample")
stage.setWidth(300)
stage.setHeight(150)
final CheckBox cb = new CheckBox("checkBox")
final Tooltip tooltip = new Tooltip("$ tooltip")
tooltip.setFont(new Font("Arial", 16))
cb.setTooltip(tooltip)
cb.selectedProperty().addListener(new ChangeListener<Boolean>() {
public void changed(ObservableValue<? extends Boolean> ov,
Boolean old_val, Boolean new_val) {
System.out.println(cb.isSelected())
}
})
((Group) scene.getRoot()).getChildren().add(cb)
stage.setScene(scene)
stage.show()
}
}
上面的代码生成以下结果。