如何使用 JavaFX 创建复选框?
javafxobject oriented programmingprogramming更新于 2026/1/4 9:16:17
复选框是一种选择控件,形状为方形,内部带有勾号,具有三种状态:选中、未选中和三态/不确定(可选)。与单选按钮不同,您不能使用切换按钮组合复选框。
在 JavaFX 中,复选框由 javafx.scene.control.CheckBox 类表示。此类具有三个布尔属性 − allowIndeterminate、indeterminate 和 selected。
在 JavaFX 中,复选框可以 −
Checked − 复选框将带有勾号,表示已选中。在此状态下,selected 属性的值为 true。
Unchecked − 此框将没有勾号,表示未选中。在此状态下,selected 属性的值为 false。
Undefined − 这是一种可选状态,您可以通过将 allowIndeterminate 属性值设置为 true 来获得此状态。在此状态下(仅此状态),indeterminate 为 true,表示复选框的值未定义。
示例
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class CheckBoxExample extends Application {
public void start(Stage stage) {
//创建复选框
CheckBox checkBox1 = new CheckBox("English");
CheckBox checkBox2 = new CheckBox("Hindi");
CheckBox checkBox3 = new CheckBox("Telugu");
CheckBox checkBox4 = new CheckBox("Tamil");
Label label = new Label("选择已知语言:");
Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
label.setFont(font);
//设置布局
VBox vBox = new VBox(5);
vBox.setPadding(new Insets(5, 5, 5, 50));
vBox.getChildren().addAll(label, checkBox1, checkBox2, checkBox3, checkBox4);
//设置舞台
Scene scene = new Scene(vBox, 595, 150, Color.BEIGE);
stage.setTitle("Check Box Example");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
输出


