Ovládací prvky JavaFX: Přehled ChoiceBox

click fraud protection

ChoiceBox
Třída se používá k vytvoření ovládacího prvku, který uživateli poskytuje několik možností, jak vybrat z rozevíracího seznamu. Uživatel si může vybrat pouze jednu z možností. Pokud se rozevírací seznam nezobrazí, pak je aktuálně vybraná možnost viditelná. Je možné nastavit
ChoiceBox
objekt akceptovat nulovou možnost jako platnou volbu.

Importní prohlášení

import javafx.scene.control. ChoiceBox;

Konstruktory

ChoiceBox
třída má dva konstruktory jeden pro prázdný seznam položek a jeden s danou sadou položek:
// Vytvořte prázdný ChoiceBox
ChoiceBox choices = new ChoiceBox ();
// Vytvořte ChoiceBox pomocí kolekce pozorovatelných seznamů
ChoiceBox coboices = new ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Užitečné metody

Pokud se rozhodnete vytvořit prázdný

ChoiceBox
Položky lze přidat později pomocí
setItems
metoda:
choices.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

instagram viewer

A pokud chcete zjistit, jaké položky jsou v a

ChoiceBox
můžete použít
getItems
metoda:
Seznam voleb = choices.getItems ();

Chcete-li vybrat možnost, která má být aktuálně vybrána, použijte

setValue
a poskytnout mu jednu z možností:
choices.setValue ("První");

Chcete-li získat hodnotu aktuálně vybrané možnosti, použijte odpovídající

getValue
metoda a přiřaďte ji k Tětiva:
String option = choices.getValue (). ToString ();

Zpracování událostí

Aby bylo možné poslouchat události a

ChoiceBox
objekt,
SelectionModel
se používá.
ChoiceBox
používá
SingleSelectionModel
třída, která umožňuje najednou vybrat pouze jednu možnost.
selectedIndexProperty
metoda nám umožňuje přidat
ChangeListener
. To znamená, že kdykoli se vybraná možnost změní na jinou možnost, dojde ke změně. Jak vidíte z níže uvedeného kódu, je poslouchána změna a když k ní dojde, lze určit dříve vybranou možnost a nově vybranou možnost:
final List options = choices.getItems ();
choices.getSelectionModel (). selectedIndexProperty (). addListener (new ChangeListener () {
@Override změněno veřejné 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 ()));
}
});

Je také možné zobrazit nebo skrýt seznam možností, aniž by uživatel musel kliknout na

ChoiceBox
objekt pomocí
ukázat
a
skrýt
metody. V kódu pod tlačítkem Button se používá k vyvolání metody show a
ChoiceBox
objekt, když
Knoflík
je kliknuto:
// Pro jednoduché rozvržení ovládacích prvků použijte zásobník
StackPane root = nový StackPane ();
// Tlačítko Create pro zobrazení možností v ChoiceBoxu
Tlačítko showOptionButton = nové tlačítko („Zobrazit možnosti“);
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, Poz. TOP_CENTER);
// Vytvořte ChoiceBox s několika možnostmi
konečné volby ChoiceBox = nové ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
root.getChildren (). add (volby);
// Použijte ActionEvent k vyvolání metody show ChoiceBox
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 ();

Chcete-li se dozvědět více o ovládacích prvcích JavaFX, podívejte se na ovládací prvky uživatelského rozhraní JavaFX.

instagram story viewer