ComboBox-luokka luo ohjaimen, jonka avulla käyttäjä voi valita vaihtoehdon avattavasta asetusluettelosta. Avattava luettelo tulee näkyviin, kun käyttäjä napsauttaa ComboBox-ohjainta. Kun asetusten lukumäärä ylittää avattavan ikkunan koon, käyttäjä voi vierittää alaspäin muihin vaihtoehtoihin. Tämä eroaa ChoiceBox jota käytetään pääasiassa, kun valintojen lukumäärä on suhteellisen pieni.
Tuontiilmoitus
javafx.scene.control. Yhdistelmälaatikko
Constructors
ComboBox-luokassa on kaksi rakentajien riippuen siitä, haluatko luoda tyhjän ComboBox-objektin vai kohteiden kanssa täytetyn objektin.
Tyhjän yhdistelmälaatikon luominen
ComboBox-hedelmät = uusi ComboBox ();
Voit luoda ComboBox-objektin ja täyttää sen merkkijonon kohteilla ObservableList-sovelluksessa
ObservableList fruit = FXCollections.observableArrayList (
"Apple", "banaani", "päärynä", "mansikka", "persikka", "oranssi", "luumu");
ComboBox hedelmät = uusi ComboBox (hedelmät);
Hyödylliset menetelmät
Jos luot tyhjän ComboBox-objektin, voit käyttää setItems-menetelmää. Objektien ObservableList-luettelon ohittaminen asettaa kohteet yhdistelmälaatikkoon.
ObservableList fruit = FXCollections.observableArrayList (
"Apple", "banaani", "päärynä", "mansikka", "persikka", "oranssi", "luumu");
hedelmät.setit (hedelmät);
Jos haluat lisätä kohteita ComboBox-luetteloon myöhemmin, voit käyttää getItems-menetelmän addAll-menetelmää. Tämä lisää kohteet valintaluettelon loppuun:
fruit.getItems (). addAll ("Melon", "Cherry", "Blackberry");
Voit lisätä valinnan tiettyyn paikkaan ComboBox-valintaluettelossa käyttämällä getItems-menetelmän lisäystapaa. Tämä menetelmä ottaa hakemistoarvon ja lisättävän arvon:
fruit.getItems (). add (1, "Sitruuna");
Huomautus: ComboBox-indeksin arvot alkavat nollasta. Esimerkiksi yllä oleva "sitruunan" arvo lisätään ComboBox-lisäluetteloon kohtaan 2, kun ohjattu indeksi on 1.
Voit valita esivalinnan vaihtoehdon ComboBox-asetusluettelossa käyttämällä setValue-menetelmää:
fruit.setValue ( "Cherry");
Jos setValue-menetelmälle välitetty arvo ei ole luettelossa, arvo valitaan silti. Se ei kuitenkaan tarkoita, että tämä arvo on lisätty luetteloon. Jos käyttäjä valitsee myöhemmin toisen arvon, alkuperäistä arvoa ei enää ole valittavassa luettelossa.
Saadaksesi valitun kohteen arvo ComboBoxiin, käytä getItems-menetelmää:
Merkkijono valittu = fruit.getValue (). ToString ();
Käyttövihjeitä
ComboBox-pudotusluettelossa yleensä esitetään kymmenen vaihtoehtoa (paitsi jos kohteita on vähemmän kuin kymmenen; tällöin asetusten lukumäärä on oletusarvo). Tätä numeroa voidaan muuttaa setVisibleRowCount-menetelmällä:
hedelmät.setVisibleRowCount (25);
Jälleen, jos luettelon kohteiden lukumäärä on pienempi kuin setVisibleRowCount-menetelmässä määritetty arvo, ComboBox näyttää oletusarvoisesti kohteiden lukumäärän ComboBox-pudotusvalikossa.
Tapahtumien käsittely
Voit seurata ComboBox-objektin kohteiden valintaa käyttämällä kohteen addListener-menetelmää selectedItemProperty -menetelmä SelectionModel-muodossa ChangeListenerin luomiseksi. Se poimii muutostapahtumat ComboBoxille:
lopullinen tarran valinta etiketti = uusi tarra ();
fruit.getSelectionModel (). selectedItemProperty (). addListener (
uusi ChangeListener () {
julkinen mitätön muutettu (ObservableValue ov,
Merkkijono old_val, merkkijono new_val) {
selectionLabel.setText (uusi_valinta);
}
});