复选框允许用户进行多项选择。例如,当订购披萨时,可以添加多个调味料。单选按钮或切换按钮用于单选或无选择。
创建复选框
我们可以使用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.event.EventHandler;import javafx.geometry.Insets;import javafx.scene.Group;import javafx.scene.Scene;import javafx.scene.control.*;import javafx.scene.effect.DropShadow;import javafx.scene.image.Image;import javafx.scene.image.ImageView;import javafx.scene.input.MouseEvent;import javafx.scene.layout.HBox;import javafx.scene.layout.StackPane;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) {Application.launch(args);}@Overridepublic void start(Stage stage) {Group root = new Group();Scene scene = new Scene(root);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());}});root.getChildren().add(cb);stage.setScene(scene);stage.show();}}

