JavaFX Controls și ComboBox

click fraud protection

Clasa ComboBox creează un control care permite utilizatorului să selecteze o opțiune dintr-o listă derulantă de opțiuni. Lista derulantă apare atunci când utilizatorul face clic pe controlul ComboBox. Atunci când numărul de opțiuni depășește dimensiunea ferestrei derulante, utilizatorul poate derula în jos către alte opțiuni. Acest lucru diferă de ChoiceBox care este utilizat în primul rând atunci când numărul de alegeri este un set relativ mic.

Declarație de import

javafx.scene.control. combobox

constructorilor

Clasa ComboBox are două constructori în funcție de dacă doriți să creați un obiect ComboBox gol sau unul populat cu elemente.

Pentru a crea un ComboBox gol

Fructe ComboBox = ComboBox nou ();

Pentru a crea un obiect ComboBox și populați-l cu elemente String dintr-un ObservableList

Fructe ObservableList = FXCollections.observableArrayList ( 
"Apple", "Banana", "Pară", "Căpșune", "Piersic", "Portocaliu", "Prună");
Fructe ComboBox = ComboBox nou (fructe);

Metode utile

Dacă creați un obiect ComboBox gol, puteți utiliza metoda setItems. Trecerea unei liste de obiecte Observable va seta elementele din Combobox.

instagram viewer

Fructe ObservableList = FXCollections.observableArrayList ( 
"Apple", "Banana", "Pară", "Căpșune", "Piersic", "Portocaliu", "Prună");
fructe.setItems (fructe);

Dacă doriți să adăugați elemente la lista ComboBox mai târziu, puteți utiliza metoda addAll a metodei getItems. Acest lucru va adăuga elementele la sfârșitul listei de opțiuni:

fruit.getItems (). addAll ("pepene galben", "cireș", "mure");

Pentru a adăuga o opțiune într-un anumit loc din lista de opțiuni ComboBox, utilizați metoda de adăugare a metodei getItems. Această metodă ia o valoare a indexului și valoarea pe care doriți să o adăugați:

fruit.getItems (). add (1, "Lămâie");

Notă: Valorile indexului ComboBox încep de la 0. De exemplu, valoarea de „Limonă” de mai sus va fi introdusă în lista de opțiuni ComboBox de la poziția 2, deoarece indicele trecut este 1.

Pentru a selecta în prealabil o opțiune din lista de opțiuni ComboBox, utilizați metoda setValue:

fruit.setValue ( "Cherry");

Dacă valoarea transmisă metodei setValue nu se află în listă, atunci valoarea va fi selectată în continuare. Cu toate acestea, aceasta nu înseamnă că această valoare a fost adăugată pe listă. Dacă ulterior utilizatorul alege o altă valoare, atunci valoarea inițială nu va mai fi în lista de selectat.

Pentru a obține valoarea articolului selectat în ComboBox, utilizați metoda getItems:

String selectat = fruit.getValue (). ToString ();

Sfaturi de utilizare

Numărul de opțiuni prezentate în mod normal de lista derulantă ComboBox este de zece (cu excepția cazului în care există mai puțin de zece articole, caz în care acesta este implicit la numărul de articole). Acest număr poate fi modificat folosind metoda setVisibleRowCount:

fruit.setVisibleRowCount (25);

Din nou, dacă numărul de articole din listă este mai mic decât valoarea setată în metoda setVisibleRowCount, ComboBox va afișa în mod implicit numărul de articole din funcția ComboBox.

Gestionarea evenimentelor

Pentru a urmări selecția de articole pe un obiect ComboBox, puteți utiliza metoda addListener a SelectItemProperty metoda SelectionModel pentru a crea un ChangeListener Va ridica evenimentele de modificare pentru ComboBox:

selecție finală LabelLabel = Etichetă nouă ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
nou ChangeListener () {
public void schimbat (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (new_val);
}
});
instagram story viewer