JavaFX juhtelemendid ja ComboBox

ComboBoxi klass loob juhtelemendi, mis võimaldab kasutajal rippmenüüst loendist suvandi valida. Ripploend ilmub siis, kui kasutaja klõpsab ComboBoxi juhtnupul. Kui suvandite arv ületab rippmenüü suuruse, saab kasutaja kerida alla järgmiste suvandite juurde. See erineb ChoiceBox mida kasutatakse peamiselt siis, kui valikute arv on suhteliselt väike.

Impordi avaldus

javafx.scene.control. ComboBox

Konstruktorid

ComboBoxi klassis on kaks konstruktorid sõltuvalt sellest, kas soovite luua tühja ComboBox-objekti või objektidega asustatud objekti.

Tühja ühendboksi loomine

ComboBox vili = uus ComboBox ();

ComboBox-objekti loomiseks ja selle täitmiseks jälgitavas loendis String-üksustega

ObservableList viljad = FXCollections.observableArrayList ( 
"Õun", "banaan", "pirn", "maasikas", "virsik", "apelsin", "ploom");
ComboBox vili = uus ComboBox (puuviljad);

Kasulikud meetodid

Tühja ComboBox-objekti loomisel saate kasutada meetodit setItems. Objektide jälgitava loendi läbimisel seatakse üksused liitkasti.

instagram viewer
ObservableList viljad = FXCollections.observableArrayList ( 
"Õun", "banaan", "pirn", "maasikas", "virsik", "apelsin", "ploom");
puu.seadused (puuviljad);

Kui soovite hiljem üksusi ComboBoxi loendisse lisada, saate kasutada getItems'i meetodi addAll meetodit. See lisab üksused suvandite loendi lõppu:

fruit.getItems (). addAll ("Melon", "Cherry", "Blackberry");

Valiku lisamiseks ComboBoxi loendis konkreetsele kohale kasutage meetodi getItems lisamismeetodit. See meetod võtab indeksi väärtuse ja väärtuse, mida soovite lisada:

fruit.getItems (). add (1, "Sidrun");

Märge: ComboBoxi indeksi väärtused algavad 0-st. Näiteks sisestatakse ülaltoodud väärtuse "Sidrun" väärtus ComboBoxi loendisse positsioonis 2, kuna läbitud indeks on 1.

ComboBoxi loendis suvandi eelvalimiseks kasutage meetodit setValue:

fruit.setValue ("Kirss");

Kui meetodile setValue edastatud väärtus pole loendis, siis väärtus ikkagi valitakse. Kuid see ei tähenda, et see väärtus loendisse oleks lisatud. Kui kasutaja valib hiljem mõne muu väärtuse, siis algväärtust enam valitud loendis ei ole.

ComboBoxis praegu valitud üksuse väärtuse saamiseks kasutage meetodit getItems:

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

Kasutamisnõuanded

Tavaliselt on ComboBoxi ripploendis esitatud kümme valikut (välja arvatud juhul, kui üksusi on vähem kui kümme; sel juhul vaikimisi valitakse üksuste arv). Seda arvu saab muuta meetodiga setVisibleRowCount:

fruit.setVisibleRowCount (25);

Jällegi, kui loendis olevate üksuste arv on väiksem kui meetodil setVisibleRowCount seatud väärtus, kuvab ComboBox vaikimisi üksuste arvu rippmenüüs ComboBox.

Sündmuste käsitlemine

ComboBoxi objekti üksuste valiku jälgimiseks võite kasutada meetodi addListener meetodit SeleIlModeli valitudItemProperty meetod, et luua ChangeListener. See võtab üles muudatuste sündmused ComboBoxi jaoks:

final Label selectionLabel = uus silt ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
uus ChangeListener () {
avalik tühisus muudetud (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (uus_valik);
}
});