ChoiceBoxklase koristi se za stvaranje kontrole koja korisniku nudi nekoliko izbora za odabir s padajućeg popisa. Korisniku je omogućeno da odabere samo jednu od opcija. Kad se padajući popis ne prikazuje, trenutno je vidljiva trenutno odabrana opcija. Moguće je postaviti
ChoiceBoxobjekt prihvatiti nultu opciju kao valjan izbor.
Izjava o uvozu
uvoz javafx.scene.control. ChoiceBox;
graditelji
ChoiceBoxklasa ima dva konstruktora, jedan za prazan popis predmeta, a jedan s danim setom predmeta:
// Stvorite prazan ChoiceBox
ChoiceBox izbori = novi ChoiceBox ();
// Stvorite ChoiceBox pomoću zbirke promatračkih popisa
ChoiceBox cboices = novi ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Breskva", "Kruška", "Jagoda"));
Korisne metode
Ako odlučite stvoriti prazno
ChoiceBoxstavke mogu se kasnije dodati pomoću
setItemsmetoda:
choices.setItems (FXCollections.observableArrayList ("Jabuka", "Banana", "Naranča", "Breskva", "Kruška", "Jagoda"));
Ako želite saznati koji su predmeti u a
ChoiceBoxmožete koristiti
getItemsmetoda:
Popis opcija = choices.getItems ();
Da biste odabrali trenutno odabranu opciju, upotrijebite
setValuemetoda i pružite joj jednu od mogućnosti:
choices.setValue ( "prvi");
Za dobivanje vrijednosti trenutno odabrane opcije koristite odgovarajuću
getValuemetoda i dodijeliti je a Niz:
String opcija = choices.getValue (). ToString ();
Rukovanje događajima
Kako biste mogli slušati događaje za a
ChoiceBoxobjekt, the
SelectionModelkoristi se.
ChoiceBoxkoristi
SingleSelectionModelklase koja dopušta da se istovremeno odabere samo jedna opcija.
selectedIndexPropertynam omogućuje da dodamo a
ChangeListener. To znači da će se, kad god se odabrana opcija promijeni u drugu opciju, dogoditi promjena. Kao što vidite iz donjeg koda, promjena se preslušava i kad se dogodi, prethodno odabrana opcija i novoizabrana opcija mogu se odrediti:
konačne opcije popisa = choices.getItems ();
choices.getSelectionModel (). selectedIndexProperty (). addListener (novi ChangeListener () {
@Override javna nevažeća promijenjena (ObservableValue ov, Broj oldSelected, Broj newSelected) {
System.out.println ("Stara odabrana opcija:" + options.get (oldSelected.intValue ()));
System.out.println ("Nova odabrana opcija:" + options.get (newSelected.intValue ()));
}
});
Također je moguće prikazati ili sakriti popis opcija bez da korisnik mora kliknuti na
ChoiceBoxobjekta pomoću
pokazatii
sakritimetode. U kodu ispod, objekt Button koristi se za poziv metode prikazivanja a
ChoiceBoxobjekta kad
Dugmeklikne:
// Upotrijebite snop za jednostavno postavljanje kontrola
StackPane root = novi StackPane ();
// Gumb Stvori za prikaz opcija u ChoiceBoxu
Gumb showOptionButton = novi gumb ("Prikaži opcije");
root.getChildren (). dodati (showOptionButton);
root.setAlignment (showOptionButton, poz. TOP_CENTER);
// Stvorite ChoiceBox s nekoliko opcija
konačni ChoiceBox izbori = novi ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Breskva", "Kruška", "Jagoda"));
root.getChildren (). dodati (izbor);
// Upotrijebite ActionEvent za poziv ChoiceBox show metode
showOptionButton.setOnAction (novi EventHandler () {
@Override javno ručno praćenje (ActionEvent e) {
choices.show ();
}
});
// Postavite scenu i stavite pozornicu u pokret ..
Scena scene = nova scena (korijen, 300, 250);
PrimaryStage.setScene (scena);
primaryStage.show ();
Da biste saznali više o ostalim JavaFX kontrolama, pogledajte kontrole JavaFX korisničkog sučelja.