Nadzori JavaFX in ComboBox

click fraud protection

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.

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