Obtenir l'élément sélectionné à partir d'une ChoiceBox dans JavaFX

Sheeraz Gul 12 octobre 2023
Obtenir l'élément sélectionné à partir d'une ChoiceBox dans JavaFX

ChoiceBox est une partie de la bibliothèque JavaFX à partir de laquelle nous pouvons obtenir un choix sélectionné. Ce tutoriel montre comment obtenir un élément sélectionné à partir d’un ChoiceBox dans JavaFX.

Obtenir l’élément sélectionné à partir d’une ChoiceBox dans JavaFX

ChoiceBox contient un ensemble d’éléments parmi lesquels un utilisateur peut sélectionner un choix qui sera l’élément actuellement sélectionné. Le choix par défaut dans une boîte de choix est une entrée null.

Les méthodes suivantes sont utilisées pour travailler avec la ChoiceBox.

Méthode La description
hide() Cette méthode fermera la liste des choix.
setItems(ObservableList value) Cela définit la valeur des éléments de propriété.
setValue(T value) Cela définira la valeur de la valeur de la propriété.
getItems() Cela obtiendra la valeur des éléments de propriété.
getValue() Cela obtient la valeur de la valeur de la propriété.
show() Cela ouvrira la liste des choix.

Nous utilisons la méthode suivante pour obtenir l’élément sélectionné à partir d’une boîte de choix.

ChoiceBox.getSelectionModel().selectedIndexProperty()

Obtenons un élément sélectionné à partir d’un ChoiceBox en utilisant JavaFX.

package delftstack;

import javafx.application.Application;
import javafx.beans.value.*;
import javafx.collections.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
public class Choice_Box extends Application {
  public void start(Stage Choice_Box_Stage) {
    // title for the stage
    Choice_Box_Stage.setTitle("ChoiceBox");

    // button to show
    Button Show_Button = new Button("Show Choice");

    // tile pane
    TilePane Title_Pane = new TilePane();

    // labels
    Label Label1 = new Label("This is a choice box, Please select your choice");
    Label Label2 = new Label("No Choice selected");

    // Choices array
    String Choice_Array[] = {
        "Delftstack 1", "Delftstack 2", "Delftstack 3", "Delftstack 4", "Delftstack 5"};

    // choiceBox
    ChoiceBox DemoChoiceBox = new ChoiceBox(FXCollections.observableArrayList(Choice_Array));

    // adding a listener
    DemoChoiceBox.getSelectionModel().selectedIndexProperty().addListener(
        new ChangeListener<Number>() {
          // if items of the list are changed
          public void changed(ObservableValue ov, Number value, Number new_value) {
            // text for the label to the selected item
            Label2.setText(Choice_Array[new_value.intValue()] + " is Selected");
          }
        });

    // ChoiceBox
    Title_Pane.getChildren().add(Label1);
    Title_Pane.getChildren().add(DemoChoiceBox);
    Title_Pane.getChildren().add(Label2);

    Scene sc = new Scene(Title_Pane, 400, 200);

    // Setting the scene
    Choice_Box_Stage.setScene(sc);

    Choice_Box_Stage.show();
  }

  public static void main(String args[]) {
    // launching the application
    launch(args);
  }
}

Le code ci-dessus illustre l’obtention d’un élément sélectionné à partir d’un ChoiceBox avec JavaFX. Voir la sortie :

Obtenir l&rsquo;élément sélectionné à partir d&rsquo;une boîte de choix

Auteur: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Article connexe - Java JavaFX