设置 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);
   }
}

输出

更新日期: 2020 年 5 月 16 日

3K+ 次浏览

启动你的事业

通过完成课程获得认证

开始学习
广告