JavaFX-kontroller: ChoiceBox-översikt

De

ChoiceBox
klass används för att skapa en kontroll som ger användaren några val att välja från en listruta. Användaren får bara välja ett av alternativen. När rullgardinsmenyn inte visas är det för närvarande valda alternativet det enda synliga. Det är möjligt att ställa in
ChoiceBox
objekt för att acceptera ett null-alternativ som ett giltigt val.

Importmeddelande

importera javafx.scene.control. ChoiceBox;

konstruktörer

De

ChoiceBox
klass har två konstruktörer en för en tom lista med objekt och en med en viss uppsättning objekt:
// Skapa en tom ChoiceBox
ChoiceBox-val = nytt ChoiceBox ();
// Skapa en ChoiceBox med en observerbar listsamling
ChoiceBox cboices = ny ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Användbara metoder

Om du väljer att skapa en tom

ChoiceBox
objekt kan läggas till senare med hjälp av
setItems
metod:
choice.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

instagram viewer

Och om du vill ta reda på vilka artiklar som finns i en

ChoiceBox
du kan använda
getItems
metod:
Listalternativ = choice.getItems ();

För att välja ett alternativ som ska väljas för närvarande använder du

satt värde
och ge det ett av alternativen:
choices.setValue ( "först");

För att få värdet för det valda alternativet använder du motsvarande

getValue
metod och tilldela den till en Sträng:
Strängalternativ = choice.getValue (). ToString ();

Händelsehändelse

För att lyssna på händelser för a

ChoiceBox
objekt,
SelectionModel
är använd. De
ChoiceBox
använder
SingleSelectionModel
klass som bara gör det möjligt att välja ett alternativ åt gången. De
selectedIndexProperty
metod tillåter oss att lägga till en
ChangeListener
. Detta innebär att när det valda alternativet ändras till ett annat alternativ kommer ändringshändelsen att inträffa. Som du ser från koden nedan lyssnar en ändring på och när den inträffar kan det tidigare valda alternativet och det nyligen valda alternativet bestämmas:
final Listalternativ = choice.getItems ();
choice.getSelectionModel (). valdIndexProperty (). addListener (ny ChangeListener () {
@Override offentligt tomrum har ändrats (ObservableValue ov, Number oldValda, Number newValda) {
System.out.println ("Old Selected Option:" + options.get (oldSelected.intValue ()));
System.out.println ("Nytt valt alternativ:" + optioner.get (newSelected.intValue ()));
}
});

Det är också möjligt att visa eller dölja listan med alternativ utan att användaren behöver klicka på

ChoiceBox
objekt med hjälp av
visa
och
Dölj
metoder. I koden nedan används ett knappobjekt för att kalla show-metoden för a
ChoiceBox
objekt när
Knapp
klickas:
// Använd en stapelpanel för en enkel layout av kontrollerna
StackPane root = new StackPane ();
// Skapa knapp för att visa alternativen i ChoiceBox
Button showOptionButton = new Button ("Visa alternativ");
root.getChildren (). lägg till (showOptionButton);
root.setAlignment (showOptionButton, Pos. TOP_CENTER);
// Skapa ChoiceBox med några alternativ
slutliga ChoiceBox-val = nya ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
root.getChildren (). lägg till (val);
// Använd ActionEvent för att ringa ChoiceBox-showmetoden
showOptionButton.setOnAction (ny EventHandler () {
@Override offentligt ogiltigt handtag (ActionEvent e) {
choices.show ();
}
});
// Ställ in scenen och sätt scenen i rörelse ..
Scenplats = ny scen (root, 300, 250);
primärsteg.setScene (scen);
primaryStage.show ();

Ta reda på JavaFX-kontroller för användargränssnitt för att ta reda på andra JavaFX-kontroller.

instagram story viewer