Trieda ComboBox vytvára ovládací prvok, ktorý umožňuje používateľovi vybrať možnosť z rozbaľovacieho zoznamu možností. Rozbaľovací zoznam sa zobrazí, keď používateľ klikne na ovládací prvok ComboBox. Ak počet možností prekročí veľkosť rozbaľovacieho okna, používateľ môže prejsť nadol na ďalšie možnosti. Toto sa líši od ChoiceBox ktorý sa používa predovšetkým vtedy, keď je počet výberov relatívne malý súbor.
Importné vyhlásenie
javafx.scene.control. ComboBox
konštruktéri
Trieda ComboBox má dve konštruktéri v závislosti od toho, či chcete vytvoriť prázdny objekt ComboBox alebo jeden naplnený položkami.
Vytvorenie prázdneho ComboBoxu
Ovocie ComboBox = nový ComboBox ();
Ak chcete vytvoriť objekt ComboBox a naplniť ho pomocou položiek String z ObservableList
ObservableList fruits = FXCollections.observableArrayList (
„Apple“, „Banán“, „Hruška“, „Jahoda“, „Broskyňa“, „Pomaranč“, „Slivka“);
ComboBox ovocie = nový ComboBox (ovocie);
Užitočné metódy
Ak vytvoríte prázdny objekt ComboBox, môžete použiť metódu setItems. Prechodom pozorovateľného zoznamu objektov sa nastavia položky v Comboboxe.
ObservableList fruits = FXCollections.observableArrayList (
„Apple“, „Banán“, „Hruška“, „Jahoda“, „Broskyňa“, „Pomaranč“, „Slivka“);
ovocie- ovocie (ovocie);
Ak chcete neskôr pridať položky do zoznamu ComboBox, môžete použiť metódu addAll metódy getItems. Týmto sa položky pripoja na koniec zoznamu možností:
fruit.getItems (). addAll („Melon“, „Cherry“, „Blackberry“);
Ak chcete pridať možnosť na konkrétne miesto v zozname možností ComboBox, použite metódu add metódy getItems. Táto metóda berie hodnotu indexu a hodnotu, ktorú chcete pridať:
fruit.getItems (). add (1, "Lemon");
Poznámka: Indexové hodnoty ComboBoxu začínajú na 0. Napríklad vyššie uvedená hodnota „Citrón“ vyššie sa vloží do zoznamu možností ComboBox na pozícii 2, keď index prešiel indexom 1.
Ak chcete predbežne vybrať možnosť v zozname možností ComboBox, použite metódu setValue:
fruit.setValue ( "Cherry");
Ak hodnota odovzdaná metóde setValue nie je na zozname, hodnota bude stále vybraná. Neznamená to však, že táto hodnota bola pridaná do zoznamu. Ak užívateľ následne vyberie inú hodnotu, pôvodná hodnota už nebude v zozname, ktorý sa má vybrať.
Ak chcete získať hodnotu aktuálne vybratej položky v ComboBoxe, použite metódu getItems:
Vybratý reťazec = fruit.getValue (). ToString ();
Tipy na používanie
Počet možností bežne predstavených v rozbaľovacom zozname ComboBox je desať (pokiaľ nie je k dispozícii menej ako desať položiek, v tomto prípade je predvolený počet položiek). Toto číslo je možné zmeniť pomocou metódy setVisibleRowCount:
fruit.setVisibleRowCount (25);
Ak je počet položiek v zozname nižší ako hodnota nastavená v metóde setVisibleRowCount, ComboBox bude predvolene zobrazovať počet položiek v rozbaľovacej ponuke ComboBox.
Vybavovanie udalostí
Na sledovanie výberu položiek na objekte ComboBox môžete použiť metódu addListener selectedItemProperty metóda SelectionModel na vytvorenie ChangeListener Zaznamená zmeny udalostí pre ComboBox:
konečný výber štítkovLabel = nový štítok ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
new ChangeListener () {
zmenené verejné prázdne miesto (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (new_val);
}
});