設定 CheckBox 操作監聽器的 JavaFX 示例
複選框是一種可選控制元件,形狀為正方形,中間打有勾形標記,它有三種狀態,即已選中、未選中和三態/不確定(可選)。
在 JavaFX 中,CheckBox 使用 javafx.scene.control.CheckBox 類表示。該類包含三個布林屬性,即 allowIndeterminate、indeterminate 和 selected。
向 CheckBox 設定操作
CheckBox 類的 selected 屬性指定當前 CheckBox 是否已選中。如果已選中,則值為 true;如果未選中,則值為 false。
selectedProperty() 方法返回一個布林屬性,指示當前 CheckBox 是否已選中。如果你想在 CheckBox 選中時執行某些操作。你可以向該屬性新增一個監聽器,如下所述 −
checkBox2.selectedProperty().addListener( //. . . . . );
示例
以下 JavaFX 示例建立三個複選框,並在每個複選框選中時執行一些操作。
import javafx.application.Application;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Group;
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.Text;
import javafx.stage.Stage;
public class CheckBoxAction 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");
Label label = new Label("Select a language:");
Font font = Font.font("verdana", 12);
label.setFont(font);
Text text1 = new Text(250.0, 45.0, "");
text1.setFont(font);
Text text2 = new Text(250.0, 75.0, "");
text1.setFont(font);
Text text3 = new Text(250.0, 105.0, "");
text1.setFont(font);
//Setting action to check boxes
checkBox1.selectedProperty().addListener(
(ObservableValue<? extends Boolean> ov, Boolean old_val, Boolean new_val) -> {
text1.setText("Welcome to Tutorilaspoint");
});
checkBox2.selectedProperty().addListener(
ObservableValue<? extends Boolean> ov, Boolean old_val, Boolean new_val) -> {
text2.setText("टुटोरियल्स पॉइन्ट को आप का स्वागत है");
});
checkBox3.selectedProperty().addListener(
(ObservableValue<? extends Boolean> ov, Boolean old_val, Boolean new_val) -> {
text3.setText("ట్యూ టోరియల్స్ పాయింట్ కి స్వా గతిం");
});
//Adding the toggle button to the pane
VBox vBox = new VBox(5);
vBox.setPadding(new Insets(5, 5, 5, 50));
vBox.getChildren().addAll(label, checkBox1, checkBox2, checkBox3 );
Group root = new Group();
root.getChildren().addAll(vBox, text1, text2, text3);
//Setting the stage
Scene scene = new Scene(root, 595, 150, Color.BEIGE);
stage.setTitle("Check Box Example");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}輸出

廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP