JavaFX-kontrol: Oversigt over ChoiceBox

Det

ChoiceBox
klasse bruges til at oprette en kontrol, der giver brugeren nogle få valg at vælge fra en rulleliste. Brugeren har kun tilladelse til at vælge en af ​​indstillingerne. Når rullelisten ikke vises, er den aktuelt valgte indstilling den eneste synlige. Det er muligt at indstille
ChoiceBox
modstand mod at acceptere en nullindstilling som et gyldigt valg.

Importerklæring

import javafx.scene.control. ChoiceBox;

Constructors

Det

ChoiceBox
klassen har to konstruktører en til en tom liste over varer og en med et givet sæt af varer:
// Opret en tom ChoiceBox
ChoiceBox-valg = nyt ChoiceBox ();
// Opret en ChoiceBox ved hjælp af en observerbar listesamling
ChoiceBox cboices = ny ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Nyttige metoder

Hvis du vælger at oprette en tom

ChoiceBox
varer kan tilføjes senere ved hjælp af
setItems
metode:
valg.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

instagram viewer

Og hvis du vil finde ud af, hvilke varer der findes i en

ChoiceBox
du kan bruge
getItems
metode:
Listeindstillinger = valg.getItems ();

For at vælge en mulighed, der skal vælges i øjeblikket, skal du bruge

setValue
og give den en af ​​mulighederne:
choices.setValue ( "først");

For at få værdien af ​​den aktuelt valgte indstilling skal du bruge det tilsvarende

getValue
metode og tildele den til en Snor:
String option = choice.getValue (). ToString ();

Begivenhedshåndtering

For at lytte til begivenheder til en

ChoiceBox
objekt, the
SelectionModel
anvendes. Det
ChoiceBox
bruger
SingleSelectionModel
klasse, der kun tillader at vælge en mulighed ad gangen. Det
selectedIndexProperty
metoden giver os mulighed for at tilføje en
ChangeListener
. Dette betyder, at hver gang den valgte indstilling ændres til en anden mulighed, ændres begivenheden. Som du kan se fra koden nedenfor, lyttes der til en ændring, og når den forekommer, kan den tidligere valgte indstilling og den nyligt valgte indstilling bestemmes:
endelige Listeindstillinger = valg.getItems ();
valg.getSelectionModel (). valgtIndexProperty (). addListener (ny ChangeListener () {
@Override offentligt tomrum ændret (ObservableValue ov, Number oldSelected, Number newVelected) {
System.out.println ("Old Selected Option:" + options.get (oldSelected.intValue ()));
System.out.println ("Ny valgt mulighed:" + option.get (newSelected.intValue ()));
}
});

Det er også muligt at vise eller skjule listen over indstillinger uden at brugeren behøver at klikke på

ChoiceBox
objekt ved hjælp af
at vise
og
skjule
metoder. I koden nedenfor bruges et knap-objekt til at kalde visningsmetoden for a
ChoiceBox
objekt, når
Knap
klikkes på:
// Brug en stackpane til et enkelt layout af kontrollerne
StackPane root = ny StackPane ();
// Opret knap for at vise indstillingerne i ChoiceBox
Button showOptionButton = ny knap ("Vis indstillinger");
root.getChildren (). tilføj (showOptionButton);
root.setAlignment (showOptionButton, Pos. TOP_CENTER);
// Opret ChoiceBox med et par muligheder
endelige ChoiceBox-valg = nye ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
root.getChildren (). tilføj (valg);
// Brug ActionEvent til at kalde ChoiceBox-visningsmetoden
showOptionButton.setOnAction (ny EventHandler () {
@Override offentligt annulleret håndtag (ActionEvent e) {
choices.show ();
}
});
// Sæt scenen og sæt scenen i bevægelse ..
Scene scene = ny scene (root, 300, 250);
PrimaryStage.setScene (scene);
primaryStage.show ();

Hvis du vil finde ud af andre JavaFX-kontroller, skal du se på JavaFX-brugergrænsefladekontroller.