De ComboBox-klasse maakt een besturingselement waarmee de gebruiker een optie kan selecteren in een vervolgkeuzelijst met opties. De vervolgkeuzelijst verschijnt wanneer de gebruiker op het besturingselement ComboBox klikt. Wanneer het aantal opties de grootte van het vervolgkeuzemenu overschrijdt, kan de gebruiker omlaag scrollen naar verdere opties. Dit verschilt van de ChoiceBox die vooral wordt gebruikt als het aantal keuzes relatief klein is.
Importverklaring
javafx.scene.control. ComboBox
Constructeurs
De ComboBox-klasse heeft er twee constructeurs afhankelijk van of u een leeg ComboBox-object wilt maken of een object met items.
Een lege ComboBox maken
ComboBox fruit = nieuwe ComboBox ();
Een ComboBox-object maken en het vullen met String-items uit een ObservableList
ObservableList fruits = FXCollections.observableArrayList (
"Apple", "Banana", "Pear", "Strawberry", "Peach", "Orange", "Plum");
ComboBox fruit = nieuwe ComboBox (fruit);
Handige methoden
Als u een leeg ComboBox-object maakt, kunt u de methode setItems gebruiken. Als u een waarneembare lijst met objecten passeert, worden de items in de Combobox ingesteld.
ObservableList fruits = FXCollections.observableArrayList (
"Apple", "Banana", "Pear", "Strawberry", "Peach", "Orange", "Plum");
fruit.setItems (fruit);
Als u later items aan de ComboBox-lijst wilt toevoegen, kunt u de addAll-methode van de methode getItems gebruiken. Hiermee worden de items aan het einde van de optielijst toegevoegd:
fruit.getItems (). addAll ("Meloen", "Kers", "Blackberry");
Gebruik de methode add van de methode getItems om een optie toe te voegen aan een bepaalde plaats in de keuzelijst ComboBox. Deze methode neemt een indexwaarde en de waarde die u wilt toevoegen:
fruit.getItems (). add (1, "Lemon");
Notitie: De indexwaarden van de ComboBox beginnen bij 0. De bovenstaande waarde van "Citroen" hierboven wordt bijvoorbeeld ingevoegd in de ComboBox-optielijst op positie 2 als de index 1 is doorgegeven.
Gebruik de methode setValue om een optie in de lijst met ComboBox-opties vooraf te selecteren:
fruit.setValue ("Cherry");
Als de waarde die wordt doorgegeven aan de methode setValue niet in de lijst staat, wordt de waarde nog steeds geselecteerd. Dit betekent echter niet dat deze waarde aan de lijst is toegevoegd. Als de gebruiker vervolgens een andere waarde kiest, staat de initiële waarde niet meer in de lijst die moet worden geselecteerd.
Gebruik de methode getItems om de waarde van het momenteel geselecteerde item in de ComboBox te krijgen:
String geselecteerd = fruit.getValue (). ToString ();
Gebruikstips
Het aantal opties dat normaal wordt weergegeven in de vervolgkeuzelijst van ComboBox is tien (tenzij er minder dan tien items zijn, in welk geval het standaard aantal items is). Dit nummer kan worden gewijzigd met de methode setVisibleRowCount:
fruit.setVisibleRowCount (25);
Nogmaals, als het aantal items in de lijst kleiner is dan de waarde die is ingesteld in de methode setVisibleRowCount, geeft de ComboBox standaard het aantal items weer in de vervolgkeuzelijst ComboBox.
Gebeurtenissen afhandelen
Om de selectie van items op een ComboBox-object te volgen, kunt u de addListener-methode van de gebruiken selectedItemProperty-methode van het SelectionModel om een ChangeListener te maken. Deze neemt de wijzigingsgebeurtenissen op voor de ComboBox:
final Label selectionLabel = nieuw label ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
nieuwe ChangeListener () {
openbare leegte gewijzigd (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (new_val);
}
});