JavaFX-Steuerelemente und ComboBox

Die ComboBox-Klasse erstellt ein Steuerelement, mit dem der Benutzer eine Option aus einer Dropdown-Liste auswählen kann. Die Dropdown-Liste wird angezeigt, wenn der Benutzer auf das ComboBox-Steuerelement klickt. Wenn die Anzahl der Optionen die Größe des Dropdown-Fensters überschreitet, kann der Benutzer zu weiteren Optionen scrollen. Dies unterscheidet sich von der ChoiceBox Dies wird hauptsächlich verwendet, wenn die Anzahl der Auswahlmöglichkeiten relativ gering ist.

Import-Anweisung

javafx.scene.control. Kombinationsfeld

Konstruktoren

Die ComboBox-Klasse hat zwei Konstruktoren Dies hängt davon ab, ob Sie ein leeres ComboBox-Objekt oder ein Objekt mit Elementen erstellen möchten.

So erstellen Sie eine leere ComboBox

ComboBox-Frucht = neue ComboBox ();

So erstellen Sie ein ComboBox-Objekt und füllen es mit String-Elementen aus einer ObservableList

ObservableList obst = FXCollections.observableArrayList ( 
"Apfel", "Banane", "Birne", "Erdbeere", "Pfirsich", "Orange", "Pflaume");
ComboBox-Frucht = neue ComboBox (Früchte);
instagram viewer

Nützliche Methoden

Wenn Sie ein leeres ComboBox-Objekt erstellen, können Sie die setItems-Methode verwenden. Durch Übergeben einer ObservableList von Objekten werden die Elemente in der Combobox festgelegt.

ObservableList obst = FXCollections.observableArrayList ( 
"Apfel", "Banane", "Birne", "Erdbeere", "Pfirsich", "Orange", "Pflaume");
ruit.setItems (Früchte);

Wenn Sie später Elemente zur ComboBox-Liste hinzufügen möchten, können Sie die addAll-Methode der getItems-Methode verwenden. Dadurch werden die Elemente an das Ende der Optionsliste angehängt:

ruit.getItems (). addAll ("Melone", "Kirsche", "Brombeere");

Verwenden Sie die add-Methode der getItems-Methode, um einer bestimmten Stelle in der ComboBox-Optionsliste eine Option hinzuzufügen. Diese Methode verwendet einen Indexwert und den Wert, den Sie hinzufügen möchten:

ruit.getItems (). add (1, "Zitrone");

Hinweis: Die Indexwerte der ComboBox beginnen bei 0. Zum Beispiel wird der obige Wert von "Lemon" oben in die ComboBox-Optionsliste an Position 2 eingefügt, da der übergebene Index 1 ist.

Verwenden Sie die setValue-Methode, um eine Option in der ComboBox-Optionsliste vorzuwählen:

ruit.setValue ("Kirsche");

Wenn der an die setValue-Methode übergebene Wert nicht in der Liste enthalten ist, wird der Wert weiterhin ausgewählt. Dies bedeutet jedoch nicht, dass dieser Wert zur Liste hinzugefügt wurde. Wenn der Benutzer anschließend einen anderen Wert auswählt, befindet sich der Anfangswert nicht mehr in der Auswahlliste.

Verwenden Sie die Methode getItems, um den Wert des aktuell ausgewählten Elements in der ComboBox abzurufen:

String selected =ruit.getValue (). ToString ();

Verwendungstipps

Die Anzahl der Optionen, die normalerweise in der ComboBox-Dropdown-Liste angezeigt werden, beträgt zehn (es sei denn, es gibt weniger als zehn Elemente. In diesem Fall wird standardmäßig die Anzahl der Elemente verwendet). Diese Nummer kann mithilfe der setVisibleRowCount-Methode geändert werden:

ruit.setVisibleRowCount (25);

Wenn die Anzahl der Elemente in der Liste geringer ist als der in der setVisibleRowCount-Methode festgelegte Wert, zeigt die ComboBox standardmäßig die Anzahl der Elemente in der ComboBox-Dropdown-Liste an.

Ereignisse behandeln

Um die Auswahl von Elementen in einem ComboBox-Objekt zu verfolgen, können Sie die addListener-Methode von verwenden selectedItemProperty-Methode des SelectionModel zum Erstellen eines ChangeListener Es werden die Änderungsereignisse erfasst für die ComboBox:

endgültige Label-AuswahlLabel = neues Label ();
ruit.getSelectionModel (). selectedItemProperty (). addListener (
neuer ChangeListener () {
öffentliche Leere geändert (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (new_val);
}
});