如何使用 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 瀏覽

啟動您的 事業

透過完成課程獲得認證

立即開始
廣告