Ovládacie prvky JavaFX: Prehľad ChoiceBox

ChoiceBox
trieda 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ť
ChoiceBox
objekt akceptovať nulovú možnosť ako platnú voľbu.

Importné vyhlásenie

import javafx.scene.control. ChoiceBox;

konštruktéri

ChoiceBox
trieda 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

ChoiceBox
Položky je možné pridať neskôr pomocou
setItems
metóda:
choices.setItems (FXCollections.observableArrayList („Apple“, „Banana“, „Orange“, „Peach“, „Pear“, „Strawberry“));

instagram viewer

A ak chcete zistiť, aké položky sú v a

ChoiceBox
môžete použiť
getItems
metóda:
Zoznam možností = choices.getItems ();

Na výber možnosti, ktorá má byť aktuálne vybraná, použite

setValue
a poskytnite mu jednu z možností:
choices.setValue ( "prvý");

Ak chcete získať hodnotu aktuálne vybranej možnosti, použite zodpovedajúcu

getValue
metódu a priraďte ju k povrázok:
String option = choices.getValue (). ToString ();

Vybavovanie udalostí

Aby bolo možné počúvať udalosti pre a

ChoiceBox
objekt,
SelectionModel
sa používa.
ChoiceBox
používa
SingleSelectionModel
trieda, ktorá umožňuje výber iba jednej možnosti súčasne.
selectedIndexProperty
metó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

ChoiceBox
objekt pomocou
šou
a
skryť
metódy. V kóde pod tlačidlom Button sa používa na vyvolanie metódy show a
ChoiceBox
objekt, keď
gombík
klikli:
// 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.