ChoiceBoxtrieda sa používa na vytvorenie ovládacieho prvku, ktorý užívateľovi ponúka niekoľko možností na výber z rozbaľovacieho zoznamu. Používateľ si môže vybrať iba jednu z možností. Ak sa rozbaľovací zoznam nezobrazí, potom je viditeľná iba vybratá možnosť. Je možné nastaviť
ChoiceBoxobjekt akceptovať nulovú možnosť ako platnú voľbu.
Importné vyhlásenie
import javafx.scene.control. ChoiceBox;
konštruktéri
ChoiceBoxtrieda má dvoch konštruktorov, jeden pre prázdny zoznam položiek a jeden s danou množinou položiek:
// Vytvorte prázdny ChoiceBox
ChoiceBox voľby = nový ChoiceBox ();
// Vytvorte ChoiceBox pomocou pozorovateľnej kolekcie zoznamu
ChoiceBox coboices = nový ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
Užitočné metódy
Ak sa rozhodnete vytvoriť prázdny
ChoiceBoxPoložky je možné pridať neskôr pomocou
setItemsmetóda:
choices.setItems (FXCollections.observableArrayList („Apple“, „Banana“, „Orange“, „Peach“, „Pear“, „Strawberry“));
A ak chcete zistiť, aké položky sú v a
ChoiceBoxmôžete použiť
getItemsmetóda:
Zoznam možností = choices.getItems ();
Na výber možnosti, ktorá má byť aktuálne vybraná, použite
setValuea poskytnite mu jednu z možností:
choices.setValue ( "prvý");
Ak chcete získať hodnotu aktuálne vybranej možnosti, použite zodpovedajúcu
getValuemetódu a priraďte ju k povrázok:
String option = choices.getValue (). ToString ();
Vybavovanie udalostí
Aby bolo možné počúvať udalosti pre a
ChoiceBoxobjekt,
SelectionModelsa používa.
ChoiceBoxpoužíva
SingleSelectionModeltrieda, ktorá umožňuje výber iba jednej možnosti súčasne.
selectedIndexPropertymetóda nám umožňuje pridať a
ChangeListener. To znamená, že vždy, keď sa vybraná možnosť zmení na inú možnosť, dôjde k zmene. Ako vidíte z nižšie uvedeného kódu, je počúvaná zmena a keď sa vyskytne predtým vybraná možnosť a novo vybraná možnosť, je možné ju určiť:
možnosti konečného zoznamu = choices.getItems ();
choices.getSelectionModel (). selectedIndexProperty (). addListener (new ChangeListener () {
@Override zmenené verejné neplatné (ObservableValue ov, Number oldSelected, Number newSelected) {
System.out.println („Old Selected Option:“ + options.get (oldSelected.intValue ()));
System.out.println („New Selected Option:“ + options.get (newSelected.intValue ()));
}
});
Zoznam možností je tiež možné zobraziť alebo skryť bez toho, aby užívateľ musel kliknúť na ikonu
ChoiceBoxobjekt pomocou
šoua
skryťmetódy. V kóde pod tlačidlom Button sa používa na vyvolanie metódy show a
ChoiceBoxobjekt, keď
gombíkklikli:
// Na jednoduché rozloženie ovládacích prvkov použite zásobník
StackPane root = nový StackPane ();
// Tlačidlo Create (Vytvoriť) na zobrazenie možností v ChoiceBoxe
Tlačidlo showOptionButton = nové tlačidlo („Zobraziť možnosti“);
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, Poz. TOP_CENTER);
// Vytvorte ChoiceBox s niekoľkými možnosťami
konečné možnosti ChoiceBox = nové ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
root.getChildren (). add (voľby);
// Na vyvolanie metódy Show ChoiceBox použite ActionEvent
showOptionButton.setOnAction (new EventHandler () {
@Override public void handle (ActionEvent e) {
choices.show ();
}
});
// Nastavte scénu a uveďte scénu do pohybu.
Scéna scéna = nová scéna (root, 300, 250);
PrimaryStage.setScene (scéna);
primaryStage.show ();
Ak sa chcete dozvedieť viac o iných ovládacích prvkoch JavaFX, pozrite si ovládacie prvky používateľského rozhrania JavaFX.