ChoiceBoxluokkaa käytetään luomaan säädin, joka antaa käyttäjälle muutaman vaihtoehdon valita avattavasta luettelosta. Käyttäjä saa valita vain yhden vaihtoehdoista. Kun avattavaa luetteloa ei näy, valittu vaihtoehto on ainoa näkyvä. On mahdollista asettaa
ChoiceBoxobjekti hyväksyy nolla-vaihtoehdon pätevänä valintana.
Tuontiilmoitus
tuo javafx.scene.control. ChoiceBox;
Constructors
ChoiceBoxluokassa on kaksi rakentajaa, yksi tyhjälle tavaraluettelolle ja toiselle tietylle tavarajoukolle:
// Luo tyhjä ChoiceBox
ChoiceBox-valinnat = uusi ChoiceBox ();
// Luo ChoiceBox käyttämällä havaittavissa olevaa luettelokokoelmaa
ChoiceBox -boitsit = uusi ChoiceBox (FXCollections.observableArrayList ("Apple", "banaani", "oranssi", "persikka", "päärynä", "mansikka"));
Hyödylliset menetelmät
Jos haluat luoda tyhjän
ChoiceBoxkohteita voidaan lisätä myöhemmin
setItemsmenetelmä:
options.setItems (FXCollections.observableArrayList ("Apple", "banaani", "oranssi", "persikka", "päärynä", "mansikka"));
Ja jos haluat selvittää, mitkä esineet ovat
ChoiceBoxvoit käyttää
getItemsmenetelmä:
Listavaihtoehdot = options.getItems ();
Voit valita valittavan vaihtoehdon tällä painikkeella
aseta arvomenetelmä ja tarjoa sille yksi vaihtoehdoista:
choices.setValue ( "ensin");
Käytä vastaavaa arvoa saadaksesi valitun vaihtoehdon arvo
getValuemenetelmä ja määritä se jono:
Merkkijonovaihtoehto = options.getValue (). ToString ();
Tapahtumien käsittely
Kuunnellaksesi tapahtumia a
ChoiceBoxesine,
SelectionModelkäytetään.
ChoiceBoxkäyttää
SingleSelectionModelluokka, joka sallii valita vain yhden vaihtoehdon kerrallaan.
selectedIndexPropertymenetelmä antaa meille mahdollisuuden lisätä
ChangeListener. Tämä tarkoittaa, että aina kun valittu vaihtoehto vaihtuu toiseen vaihtoehtoon, muutostapahtuma tapahtuu. Kuten alla olevasta koodista voidaan nähdä, muutosta kuunnellaan, ja kun tapahtuu aiemmin valittu vaihtoehto ja vastavalittu vaihtoehto voidaan määrittää:
lopullinen Lista-asetukset = options.getItems ();
options.getSelectionModel (). selectedIndexProperty (). addListener (uusi ChangeListener () {
@Orvoi julkinen tyhjä muutettu (ObservableValue ov, Number oldSelected, Number newSelected) {
System.out.println ("Vanha valittu vaihtoehto:" + asetukset.get (oldSelected.intValue ()));
System.out.println ("Uusi valittu vaihtoehto:" + asetukset.get (newSelected.intValue ()));
}
});
On myös mahdollista näyttää tai piilottaa vaihtoehtojen luettelo ilman, että käyttäjän tarvitsee napsauttaa
ChoiceBoxobjekti käyttämällä
näytäja
piilottaamenetelmiä. Alla olevassa koodissa Button -objektia käytetään kutsumaan a-menetelmää
ChoiceBoxesine kun
nappinapsautetaan:
// Käytä pinokameraa säätimien yksinkertaiseen asetteluun
StackPane juuri = uusi StackPane ();
// Luo-painike näyttääksesi vaihtoehdot ChoiceBoxissa
Button showOptionButton = uusi painike ("Show Options");
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, Pos. TOP_CENTER);
// Luo ChoiceBox muutamalla vaihtoehdolla
lopullinen ChoiceBox-valinnat = uusi ChoiceBox (FXCollections.observableArrayList ("Apple", "banaani", "oranssi", "persikka", "päärynä", "mansikka"));
root.getChildren (). lisää (valinnat);
// Soita ChoiceBox-näyttelymenetelmälle ActionEvent
showOptionButton.setOnAction (uusi EventHandler () {
@Käytä julkinen tyhjäkäsittely (ActionEvent e) {
choices.show ();
}
});
// Aseta kohtaus ja laita liikkeelle ..
Kohtauspaikka = uusi kohtaus (juuri, 300, 250);
PrimaryStage.setScene (kohtaus);
primaryStage.show ();
Tutustu muihin JavaFX-ohjaimiin tutustumalla JavaFX-käyttöliittymäohjaimiin.