ChoiceBox Übersicht

Das

ChoiceBox
class wird verwendet, um ein Steuerelement zu erstellen, das dem Benutzer einige Auswahlmöglichkeiten aus einer Dropdown-Liste bietet. Der Benutzer darf nur eine der Optionen auswählen. Wenn die Dropdown-Liste nicht angezeigt wird, ist nur die aktuell ausgewählte Option sichtbar. Es ist möglich, die einzustellen
ChoiceBox
Objekt, um eine Nulloption als gültige Auswahl zu akzeptieren.

Import-Anweisung

import javafx.scene.control.ChoiceBox;

Konstruktoren

Das

ChoiceBox
Klasse hat zwei Konstruktoren, einen für eine leere Liste von Elementen und einen mit einer gegebenen Menge von Elementen:
// Erstelle eine leere ChoiceBox
ChoiceBox choices = new ChoiceBox ();
// Erstelle eine ChoiceBox mit einer beobachtbaren Listensammlung
ChoiceBox cboices = new ChoiceBox (FXCollections.observableArrayList ("Apfel", "Banane", "Orange", "Pfirsich", "Birne", "Erdbeere"));

Nützliche Methoden

Wenn Sie eine leere erstellen möchten

ChoiceBox
Elemente können später mit der Taste hinzugefügt werden
setItems
Methode:
choices.setItems (FXCollections.observableArrayList ("Apfel", "Banane", "Orange", "Pfirsich", "Birne", "Erdbeere"));

Und wenn Sie herausfinden möchten, welche Artikel sich in einer befinden

ChoiceBox
du kannst den ... benutzen
getItems
Methode:
List options = choices.getItems ();

Um eine aktuell ausgewählte Option auszuwählen, verwenden Sie die

setValue
Methode und geben Sie eine der folgenden Optionen an:
choices.setValue ("First");

Verwenden Sie die entsprechende Option, um den Wert der aktuell ausgewählten Option abzurufen

Wert erhalten
Methode und weisen Sie es einem String zu:
String option = choices.getValue (). ToString ();

Handhabung des Events

Um Events für a

ChoiceBox
Objekt, das
AuswahlModell
wird genutzt. Das
ChoiceBox
verwendet die
SingleSelectionModel
Klasse, in der jeweils nur eine Option ausgewählt werden kann. Das
selectedIndexProperty
Methode ermöglicht es uns, ein hinzuzufügen
ChangeListener
. Dies bedeutet, dass das Änderungsereignis immer dann auftritt, wenn die ausgewählte Option in eine andere Option geändert wird. Wie Sie dem folgenden Code entnehmen können, wird eine Änderung abgehört, und wenn sie auftritt, können die zuvor ausgewählte Option und die neu ausgewählte Option bestimmt werden:
letzte Liste options = choices.getItems ();
choices.getSelectionModel (). selectedIndexProperty (). addListener (new ChangeListener ()
@Override public void geändert (ObservableValue ov, Number oldSelected, Number newSelected)
System.out.println ("Alte ausgewählte Option:" + options.get (oldSelected.intValue ()));
System.out.println ("New Selected Option:" + options.get (newSelected.intValue ()));

);

Es ist auch möglich, die Liste der Optionen ein- oder auszublenden, ohne dass der Benutzer auf klicken muss

ChoiceBox
Objekt mithilfe der
Show
und
ausblenden
Methoden. Im folgenden Code wird ein Button-Objekt verwendet, um die show-Methode von a aufzurufen
ChoiceBox
Objekt, wenn die
Taste
wird angeklickt:
// Verwenden Sie einen Stapelbereich für ein einfaches Layout der Steuerelemente
StackPane root = new StackPane ();
// Schaltfläche erstellen, um die Optionen in der ChoiceBox anzuzeigen
Button showOptionButton = neuer Button ("Show Options");
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, Pos.TOP_CENTER);
// Erstelle die ChoiceBox mit ein paar Optionen
final ChoiceBox choices = new ChoiceBox (FXCollections.observableArrayList ("Apfel", "Banane", "Orange", "Pfirsich", "Birne", "Erdbeere"));
root.getChildren (). add (Auswahlen);
// Verwenden Sie das ActionEvent, um die show-Methode von ChoiceBox aufzurufen
showOptionButton.setOnAction (neuer EventHandler ()
@Override public void handle (ActionEvent e)
choices.show ();

);
// Setze die Szene und setze die Bühne in Bewegung ...
Szene Szene = neue Szene (root, 300, 250);
primaryStage.setScene (Szene);
primaryStage.show ();

Weitere Informationen zu JavaFX-Steuerelementen finden Sie unter JavaFX-Benutzeroberflächensteuerelemente.