
- JavaFX 教程
- JavaFX - 首頁
- JavaFX - 概述
- JavaFX 安裝和架構
- JavaFX - 環境
- JavaFX - 使用 Netbeans 安裝
- JavaFX - 使用 Eclipse 安裝
- JavaFX - 使用 Visual Studio Code 安裝
- JavaFX - 架構
- JavaFX - 應用程式
- JavaFX 2D 形狀
- JavaFX - 2D 形狀
- JavaFX - 繪製線條
- JavaFX - 繪製矩形
- JavaFX - 繪製圓角矩形
- JavaFX - 繪製圓形
- JavaFX - 繪製橢圓
- JavaFX - 繪製多邊形
- JavaFX - 繪製折線
- JavaFX - 繪製三次貝塞爾曲線
- JavaFX - 繪製二次貝塞爾曲線
- JavaFX - 繪製弧形
- JavaFX - 繪製 SVGPath
- JavaFX 2D 物件的屬性
- JavaFX - 描邊型別屬性
- JavaFX - 描邊寬度屬性
- JavaFX - 描邊填充屬性
- JavaFX - 描邊屬性
- JavaFX - 描邊連線屬性
- JavaFX - 描邊斜接限制屬性
- JavaFX - 描邊端點屬性
- JavaFX - 平滑屬性
- JavaFX 路徑物件
- JavaFX - 路徑物件
- JavaFX - LineTo 路徑物件
- JavaFX - HLineTo 路徑物件
- JavaFX - VLineTo 路徑物件
- JavaFX - QuadCurveTo 路徑物件
- JavaFX - CubicCurveTo 路徑物件
- JavaFX - ArcTo 路徑物件
- JavaFX 顏色和紋理
- JavaFX - 顏色
- JavaFX - 線性漸變圖案
- JavaFX - 徑向漸變圖案
- JavaFX 文字
- JavaFX - 文字
- JavaFX 效果
- JavaFX - 效果
- JavaFX - 顏色調整效果
- JavaFX - 顏色輸入效果
- JavaFX - 影像輸入效果
- JavaFX - 混合效果
- JavaFX - 輝光效果
- JavaFX - 泛光效果
- JavaFX - 方框模糊效果
- JavaFX - 高斯模糊效果
- JavaFX - 運動模糊效果
- JavaFX - 反射效果
- JavaFX - 棕褐色效果
- JavaFX - 陰影效果
- JavaFX - 投影效果
- JavaFX - 內陰影效果
- JavaFX - 照明效果
- JavaFX - Light.Distant 效果
- JavaFX - Light.Spot 效果
- JavaFX - Point.Spot 效果
- JavaFX - 位移對映
- JavaFX - 透視變換
- JavaFX 動畫
- JavaFX - 動畫
- JavaFX - 旋轉轉換
- JavaFX - 縮放轉換
- JavaFX - 平移轉換
- JavaFX - 淡入淡出轉換
- JavaFX - 填充轉換
- JavaFX - 描邊轉換
- JavaFX - 順序轉換
- JavaFX - 並行轉換
- JavaFX - 暫停轉換
- JavaFX - 路徑轉換
- JavaFX 影像
- JavaFX - 影像
- JavaFX 3D 形狀
- JavaFX - 3D 形狀
- JavaFX - 建立立方體
- JavaFX - 建立圓柱體
- JavaFX - 建立球體
- 3D 物件的屬性
- JavaFX - 剔除面屬性
- JavaFX - 繪製模式屬性
- JavaFX - 材質屬性
- JavaFX 事件處理
- JavaFX - 事件處理
- JavaFX - 使用便捷方法
- JavaFX - 事件過濾器
- JavaFX - 事件處理程式
- JavaFX UI 控制元件
- JavaFX - UI 控制元件
- JavaFX - 列表檢視
- JavaFX - 手風琴
- JavaFX - 按鈕欄
- JavaFX - 選擇框
- JavaFX - HTML 編輯器
- JavaFX - 選單欄
- JavaFX - 分頁
- JavaFX - 進度指示器
- JavaFX - 滾動窗格
- JavaFX - 分隔符
- JavaFX - 滑塊
- JavaFX - 微調器
- JavaFX - 分割窗格
- JavaFX - 表格檢視
- JavaFX - 選項卡窗格
- JavaFX - 工具欄
- JavaFX - 樹檢視
- JavaFX - 標籤
- JavaFX - 複選框
- JavaFX - 單選按鈕
- JavaFX - 文字欄位
- JavaFX - 密碼欄位
- JavaFX - 檔案選擇器
- JavaFX - 超連結
- JavaFX - 工具提示
- JavaFX - 警報
- JavaFX - 日期選擇器
- JavaFX - 文字區域
- JavaFX 圖表
- JavaFX - 圖表
- JavaFX - 建立餅圖
- JavaFX - 建立折線圖
- JavaFX - 建立面積圖
- JavaFX - 建立條形圖
- JavaFX - 建立氣泡圖
- JavaFX - 建立散點圖
- JavaFX - 建立堆疊面積圖
- JavaFX - 建立堆疊條形圖
- JavaFX 佈局窗格
- JavaFX - 佈局窗格
- JavaFX - HBox 佈局
- JavaFX - VBox 佈局
- JavaFX - BorderPane 佈局
- JavaFX - StackPane 佈局
- JavaFX - TextFlow 佈局
- JavaFX - AnchorPane 佈局
- JavaFX - TilePane 佈局
- JavaFX - GridPane 佈局
- JavaFX - FlowPane 佈局
- JavaFX CSS
- JavaFX - CSS
- JavaFX 中的媒體
- JavaFX - 處理媒體
- JavaFX - 播放影片
- JavaFX 有用資源
- JavaFX - 快速指南
- JavaFX - 有用資源
- JavaFX - 討論
JavaFX - 複選框
複選框是一個使用者介面元件,允許使用者選擇或取消選擇一個選項。它最常用於建立多項選擇題、首選項、過濾器等等。下圖顯示了一個帶有多個選項的篩選功能,允許使用者根據自己的偏好選擇類別和品牌。

在 JavaFX 中建立複選框
在 JavaFX 中,複選框由名為CheckBox的類表示。此類屬於javafx.scene.control包。透過例項化此類,我們可以在 JavaFX 中建立一個複選框。CheckBox 類的建構函式如下所示:
CheckBox() - 這是預設建構函式,它構建一個沒有任何選項名稱的 CheckBox。
CheckBox(String str) - 它使用指定的選項構建一個新的 CheckBox。
CheckBox類最常用的建構函式是其引數化建構函式。它接受一個表示 CheckBox 選項名稱的文字。建立複選框後,透過將 CheckBox 物件傳遞給其建構函式來定義一個佈局窗格,例如 Vbox 或 Hbox。然後,建立一個場景並將佈局窗格的物件作為引數值傳遞給其建構函式。接下來,設定 JavaFX 應用程式的舞臺和標題。最後,呼叫main()方法啟動應用程式。
示例
以下是使用 JavaFX 建立 CheckBox 的程式。將此程式碼儲存在名為CheckBoxDemo.java的檔案中。
import javafx.application.Application; 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.stage.Stage; import javafx.geometry.Pos; import javafx.geometry.Insets; public class CheckBoxDemo extends Application { @Override public void start(Stage stage) throws Exception { // Creating a Label Label label = new Label("Click the box to select: "); // Creating three CheckBoxes CheckBox checkBx1 = new CheckBox("Item1"); checkBx1.setTextFill(Color.GREEN); checkBx1.setSelected(false); CheckBox checkBx2 = new CheckBox("Item2"); checkBx2.setTextFill(Color.BLUE); checkBx2.setSelected(false); CheckBox checkBx3 = new CheckBox("Item3"); checkBx3.setTextFill(Color.SKYBLUE); checkBx3.setSelected(false); // Create a Label to display the selection Label selectLabel = new Label(); selectLabel.setTextFill(Color.RED); // Adding listeners to the CheckBoxes checkBx1.setOnAction(e -> selectLabel.setText("You selected: " + (checkBx1.isSelected() ? "Item1" : "") )); checkBx2.setOnAction(e -> selectLabel.setText("You selected: " + (checkBx2.isSelected() ? "Item2" : "") )); checkBx3.setOnAction(e -> selectLabel.setText("You selected: " + (checkBx2.isSelected() ? "Item3" : "") )); // Create a VBox and add the CheckBoxes and Label VBox vbox = new VBox(); vbox.setAlignment(Pos.CENTER); vbox.setPadding(new Insets(10)); vbox.setSpacing(10); vbox.getChildren().addAll(label, checkBx1, checkBx2, checkBx3, selectLabel); // Create a scene and add the VBox Scene scene = new Scene(vbox, 400, 300); // Set the scene and show the stage stage.setScene(scene); stage.setTitle("CheckBox in JavaFX"); stage.show(); } public static void main(String[] args) { launch(args); } }
使用以下命令從命令提示符編譯並執行儲存的 Java 檔案:
javac --module-path %PATH_TO_FX% --add-modules javafx.controls CheckBoxDemo.java java --module-path %PATH_TO_FX% --add-modules javafx.controls CheckBoxDemo
輸出
執行後,上述程式將生成一個 JavaFX 視窗,顯示三個複選框,如下所示:

在 JavaFX 中使用預設建構函式建立複選框
如前所述,我們可以使用其預設建構函式或其引數化建構函式在 JavaFX 中建立 CheckBox。在下一個示例中,我們將使用預設建構函式並使用名為setText()的內建方法傳遞選項文字。將此程式碼儲存在名為JavafxCheckbox.java的檔案中。
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.layout.HBox; import javafx.scene.paint.Color; import javafx.stage.Stage; import javafx.geometry.Pos; import javafx.geometry.Insets; public class JavafxCheckbox extends Application { @Override public void start(Stage stage) throws Exception { // Creating a Label Label label = new Label("Click the box to select: "); // Creating three CheckBoxes without label text CheckBox checkBx1 = new CheckBox(); checkBx1.setTextFill(Color.GREEN); checkBx1.setSelected(true); // adding lable to the check box1 checkBx1.setText("Item1"); CheckBox checkBx2 = new CheckBox(); // adding lable to the check box2 checkBx2.setText("Item2"); checkBx2.setTextFill(Color.BLUE); checkBx2.setSelected(false); // Create a Label to display the selection Label selectLabel = new Label(); selectLabel.setTextFill(Color.RED); // Adding listeners to the CheckBoxes checkBx1.setOnAction(e -> selectLabel.setText("You selected: " + (checkBx1.isSelected() ? "Item1" : "") )); checkBx2.setOnAction(e -> selectLabel.setText("You selected: " + (checkBx2.isSelected() ? "Item2" : "") )); // Create a HBox and add the CheckBoxes and Label HBox box = new HBox(); box.setAlignment(Pos.CENTER); box.setPadding(new Insets(10)); box.setSpacing(10); box.getChildren().addAll(label, checkBx1, checkBx2, selectLabel); // Create a scene and add the HBox Scene scene = new Scene(box, 400, 300); // Set the scene and show the stage stage.setScene(scene); stage.setTitle("CheckBox in JavaFX"); stage.show(); } public static void main(String[] args) { launch(args); } }
要從命令提示符編譯並執行儲存的 Java 檔案,請使用以下命令:
javac --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxCheckbox.java java --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxCheckbox
輸出
執行上述程式後,它將生成一個 JavaFX 視窗,顯示兩個複選框,如下所示:
