Razred ComboBox ustvari nadzor, ki uporabniku omogoča, da izbere možnost s spustnega seznama možnosti. Spustni seznam se prikaže, ko uporabnik klikne na gumb ComboBox. Ko število možnosti preseže velikost spustnega okna, se lahko uporabnik pomakne navzdol do nadaljnjih možnosti. To se razlikuje od ChoiceBox ki se uporablja predvsem takrat, ko je število možnosti relativno majhen nabor.
Uvozna izjava
javafx.scene.control. ComboBox
Konstruktorji
Razred ComboBox ima dva konstruktorji odvisno od tega, ali želite ustvariti prazen predmet ComboBox ali enega, poseljenega s predmeti.
Ustvarjanje praznega ComboBoxa
ComboBox sadje = nov ComboBox ();
Če želite ustvariti objekt ComboBox in ga napolniti s predmeti String iz ObservableList
ObservableList sadje = FXCollections.observableArrayList (
"Jabolko", "banano", "hruška", "jagoda", "breskev", "pomaranča", "sliva");
ComboBox sadje = nov ComboBox (sadje);
Uporabne metode
Če ustvarite prazen predmet ComboBox, lahko uporabite metodo setItems. Če posredujete ObservableList predmetov, bodo postavljeni elementi v Comboboxu.
ObservableList sadje = FXCollections.observableArrayList (
"Jabolko", "banano", "hruška", "jagoda", "breskev", "pomaranča", "sliva");
sadje.setItemi (sadje);
Če želite pozneje dodati elemente na seznam ComboBox, lahko uporabite metodo addAll metode getItems. To bo predmete dodalo na konec seznama možnosti:
sadje.getItems (). addAll ("Melona", "Češnja", "Blackberry");
Če želite dodati možnost na določeno mesto na seznamu možnosti ComboBox, uporabite metodo add metode getItems. Ta metoda sprejme vrednost indeksa in vrednost, ki jo želite dodati:
sadje.getItems (). dodaj (1, "Limona");
Opomba: Vrednosti indeksa ComboBox se začnejo pri 0. Na primer, zgornja vrednost "Limona" zgoraj bo vstavljena na seznam možnosti ComboBox na položaju 2, ko je opravljeni indeks 1.
Če želite predhodno izbrati možnost na seznamu možnosti ComboBox, uporabite metodo setValue:
sadje.setValue ("češnja");
Če vrednost, posredovana metodi setValue, ni na seznamu, potem bo vrednost še vedno izbrana. Vendar to ne pomeni, da je bila ta vrednost dodana na seznam. Če uporabnik naknadno izbere drugo vrednost, začetna vrednost ne bo več na seznamu, ki ga bo izbral.
Če želite pridobiti vrednost trenutno izbranega predmeta v ComboBoxu, uporabite metodo getItems:
Izbrani niz = sadje.getValue (). ToString ();
Nasveti za uporabo
Število možnosti, ki jih ponavadi predstavi spustni seznam ComboBox, je deset (razen če je manj kot deset elementov; v tem primeru je privzeto število predmetov). To številko lahko spremenite z uporabo metode setVisibleRowCount:
sadje.setVisibleRowCount (25);
Tudi če je število elementov na seznamu manjše od vrednosti, določene v metodi setVisibleRowCount, bo ComboBox privzeto prikazal število elementov v spustnem meniju ComboBox.
Ravnanje z dogodki
Za sledenje izbiri elementov v ComboBox predmetu lahko uporabite addListener metodo izbrana metodaIzvojna lastnost SelectionModel za ustvarjanje ChangeListenerja bo izbral spremembe sprememb za ComboBox:
končni izbor oznakLabel = nov Label ();
sadje.getSelectionModel (). izbranoItemProperty (). addListener (
nov ChangeListener () {
javna ničnost spremenjena (ObservableValue ov,
String old_val, String new_val) {
selectionLabel.setText (nov_val);
}
});