A ComboBox osztály létrehoz egy vezérlőt, amely lehetővé teszi a felhasználó számára, hogy válasszon egy lehetőséget a legördülő listából. A legördülő lista akkor jelenik meg, amikor a felhasználó rákattint a ComboBox vezérlőre. Amikor az opciók száma meghaladja a legördülő ablak méretét, a felhasználó görgeti le a további lehetőségeket. Ez különbözik a ChoiceBox amelyet elsősorban akkor használnak, ha a választások száma viszonylag kicsi.
Behozatali nyilatkozat
javafx.scene.control. ComboBox
Constructors
A ComboBox osztálynak kettő van konstruktőrök attól függően, hogy szeretne-e létrehozni egy üres ComboBox-objektumot, vagy egy-egy elemet.
Üres ComboBox létrehozása
ComboBox gyümölcs = új ComboBox ();
ComboBox objektum létrehozásához és a ObservableList String elemekkel való kitöltéséhez
ObservableList gyümölcs = FXCollections.observableArrayList (
"Alma", "banán", "körte", "eper", "őszibarack", "narancs", "szilva");
ComboBox gyümölcs = új ComboBox (gyümölcs);
Hasznos módszerek
Ha üres ComboBox objektumot hoz létre, használhatja a setItems metódust. Az objektumok megfigyelhető listájának átadásakor az elemek a Comboboxba kerülnek.
ObservableList gyümölcs = FXCollections.observableArrayList (
"Alma", "banán", "körte", "eper", "őszibarack", "narancs", "szilva");
gyümölcs.set elemek (gyümölcsök);
Ha később elemeket szeretne hozzáadni a ComboBox listához, akkor használhatja a getItems módszer addAll módszerét. Ez hozzáfűzi az elemeket az opciólista végéhez:
gyümölcs.getItems (). addAll ("dinnye", "cseresznye", "szeder");
Opció hozzáadásához egy adott helyre a ComboBox opciólistában használja a getItems módszer add metódust. Ez a módszer egy index értéket és az hozzáadni kívánt értéket vesz fel:
gyümölcs.getItems (). add (1, "Citrom");
Jegyzet: A ComboBox indexértéke 0-nál kezdődik. Például a fenti "Citrom" fenti értékét beillesztjük a ComboBox opciós listába a 2. pozícióban, mivel az átadott index értéke 1.
A ComboBox opciók listájában egy lehetőség előzetes kiválasztásához használja a setValue módszert:
fruit.setValue ( "cseresznye");
Ha a setValue módszerhez átadott érték nem szerepel a listán, akkor az érték továbbra is kiválasztásra kerül. Ez azonban nem jelenti azt, hogy ezt az értéket hozzáadtuk a listához. Ha a felhasználó ezt követően egy másik értéket választ, akkor a kezdeti érték már nem lesz a kiválasztandó listában.
Az aktuálisan kiválasztott elem értékének a ComboBox-ban való eléréséhez használja a getItems metódust:
Kiválasztott karakterlánc = fruit.getValue (). ToString ();
Használati tippek
A ComboBox legördülő listában általában bemutatott opciók száma tíz (kivéve, ha kevesebb, mint tíz tétel van, ebben az esetben az elemek száma alapértelmezés szerint történik). Ez a szám a setVisibleRowCount módszer használatával megváltoztatható:
fruit.setVisibleRowCount (25);
Ismét, ha a listában szereplő elemek száma kisebb, mint a setVisibleRowCount módszernél beállított érték, akkor a ComboBox alapértelmezés szerint megjeleníti az elemek számát a ComboBox legördülő menüben.
Események kezelése
A ComboBox objektumok elemválasztásának nyomon követéséhez használhatja a a SelectionModel selectedItemProperty metódusa ChangeListener létrehozásához. Ez felveszi a változási eseményeket a ComboBox esetében:
final Label selectionLabel = új címke ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
új ChangeListener () {
nyilvános érvénytelenség megváltozott (ObservableValue ov,
Old_val húr, new_val húr) {
selectionLabel.setText (new_val);
}
});