The
ChoiceBoxrazreda se uporablja za ustvarjanje kontrolnika, ki uporabniku predstavi nekaj možnosti izbire s spustnega seznama. Uporabnik lahko izbere le eno od možnosti. Če se spustni seznam ne prikaže, je trenutno izbrana možnost samo vidna. Možno je nastaviti
ChoiceBoxpredmet, da sprejme veljavno možnost kot veljavno izbiro.
Uvozna izjava
uvoz javafx.scene.control. ChoiceBox;
Konstruktorji
The
ChoiceBoxrazred ima dva konstruktorja, enega za prazen seznam elementov in enega z danim naborom elementov:
// Ustvari prazen ChoiceBox
ChoiceBox izbire = nov ChoiceBox ();
// Ustvari ChoiceBox s pomočjo zbirke, ki jo je mogoče opaziti
ChoiceBox cboices = nov ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Breskev", "Hruška", "Jagoda"));
Uporabne metode
Če se odločite ustvariti prazno
ChoiceBoxpredmete lahko dodate pozneje z uporabo
setItemsmetoda:
choices.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Breskev", "Hruška", "Jagoda"));
Če želite izvedeti, kateri predmeti so v
ChoiceBoxlahko uporabite
getItemsmetoda:
Možnosti seznama = choices.getItems ();
Če želite izbrati trenutno izbrano možnost, uporabite
setValuemetoda in ji ponudite eno od možnosti:
choices.setValue ("Prva");
Če želite pridobiti vrednost trenutno izbrane možnosti, uporabite ustrezno
getValuemetoda in jo dodelite a Vrvica:
Možnost niza = choices.getValue (). ToString ();
Obravnava dogodkov
Da bi prisluhnili dogodkom za a
ChoiceBoxobjekt,
IzborModelse uporablja. The
ChoiceBoxuporablja
SingleSelectionModelrazreda, ki dovoljuje izbrati samo eno možnost. The
izbrana lastnostIndexPropertynam omogoča, da dodamo
Spremeni poslušalca. To pomeni, da se vsakič, ko se izbrana možnost spremeni v drugo možnost, zgodi sprememba. Kot je razvidno iz spodnje kode, se posluša sprememba in ko se pojavi, lahko prej določeno možnost in novo izbrano možnost določimo:
končne možnosti seznama = choices.getItems ();
choices.getSelectionModel (). selectedIndexProperty (). addListener (nov ChangeListener () {
@Override javna ničnost spremenjena (ObservableValue ov, Število starih Izbrano, Število novo Izbrano) {
System.out.println ("Stara izbrana možnost:" + options.get (oldSelected.intValue ()));
System.out.println ("Nova izbrana možnost:" + options.get (newSelected.intValue ()));
}
});
Prav tako je mogoče prikazati ali skriti seznam možnosti, ne da bi uporabnik moral klikniti
ChoiceBoxpredmeta z uporabo
kažejoin
skritimetod. V spodnji kodi se predmet Button uporablja za priklic metode show a
ChoiceBoxpredmet, ko
Gumbklikne:
// Za preprosto postavitev elementov uporabite regalno ploščo
StackPane root = nov StackPane ();
// Ustvari gumb za prikaz možnosti v ChoiceBoxu
Gumb showOptionButton = nov gumb ("Prikaži možnosti");
root.getChildren (). dodaj (showOptionButton);
root.setAlignment (showOptionButton, Pos. št. TOP_CENTER);
// Ustvarite ChoiceBox z nekaj možnostmi
končne ChoiceBox izbire = nov ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Breskev", "Hruška", "Jagoda"));
root.getChildren (). dodaj (izbire);
// S pomočjo ActionEvent pokličite metodo prikazovanja ChoiceBox
showOptionButton.setOnAction (nov EventHandler () {
@Override javno ravnanje za ničnost (ActionEvent e) {
izbire.prikaži ();
}
});
// Nastavite sceno in sprostite sceno.
Scena scene = new Scene (root, 300, 250);
PrimaryStage.setScene (scena);
PrimaryStage.show ();
Če želite izvedeti več o drugih JavaFX-ovih kontrolah, si oglejte Nadzori uporabniškega vmesnika JavaFX.