如何使用 JavaFX 创建一个复选框?


复选框是一种选择控件类型,呈正方形,内置一个刻度标记。其具有三种状态:选中、未选中和三态/不确定(可选)。与单选按钮不同,你无法使用切换按钮组合复选框。

在 JavaFX 中,复选框由 javafx.scene.control.CheckBox 类表示。此类具有三个布尔属性 - allowIndeterminate、indeterminate 和 selected。

在 JavaFX 中,复选框可以 -

  • 选中 - 框内将带有刻度标记,表示已选中。在此状态下,selected 属性值为 true。

  • 未选中 - 框内将没有刻度标记,表示未选中。在此状态下,selected 属性值为 false。

  • 未定义 - 这是可选状态,可通过将 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) {
      //Creating the check boxes
      CheckBox checkBox1 = new CheckBox("English");
      CheckBox checkBox2 = new CheckBox("Hindi");
      CheckBox checkBox3 = new CheckBox("Telugu");
      CheckBox checkBox4 = new CheckBox("Tamil");
      Label label = new Label("Select known languages:");
      Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
      label.setFont(font);
      //Setting layout
      VBox vBox = new VBox(5);
      vBox.setPadding(new Insets(5, 5, 5, 50));
      vBox.getChildren().addAll(label, checkBox1, checkBox2, checkBox3, checkBox4);
      //Setting the stage
      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);
   }
}

输出

更新于: 16-May-2020

836 浏览

启动您的 事业

通过完成课程获得认证

立即开始
广告