JavaFX Controls és ComboBox

click fraud protection

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.

instagram viewer

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);
}
});
instagram story viewer