JavaFX-kontroller: ChoiceBox-oversikt

De

ChoiceBox
klasse brukes til å lage en kontroll som gir brukeren noen få valg å velge fra en rullegardinliste. Brukeren har bare lov til å velge et av alternativene. Når rullegardinlisten ikke vises, er det valgte alternativet det eneste synlige. Det er mulig å stille inn
ChoiceBox
objekt å akseptere et nullalternativ som et gyldig valg.

Importerklæring

import javafx.scene.control. ChoiceBox;

Constructors

De

ChoiceBox
klasse har to konstruktører en for en tom liste over varer og en med et gitt sett med varer:
// Opprett en tom ChoiceBox
ChoiceBox-valg = nye ChoiceBox ();
// Lag en ChoiceBox ved hjelp av en observerbar listesamling
ChoiceBox cboices = nye ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Nyttige metoder

Hvis du velger å opprette en tom

ChoiceBox
elementer kan legges til senere ved å bruke
setItems
metode:
valg.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Og hvis du vil finne ut hva som er i en

ChoiceBox
du kan bruke
getItems
metode:
instagram viewer
Listealternativer = choice.getItems ();

For å velge et alternativ som skal velges for øyeblikket, bruk

SetValue
og gi det ett av alternativene:
choices.setValue ( "første");

For å få verdien på det valgte alternativet, bruk tilsvarende

getValue
metode og tilordne den til a string:
Strengealternativ = choice.getValue (). ToString ();

Arrangementshåndtering

For å lytte til hendelser for a

ChoiceBox
objekt, the
SelectionModel
benyttes. De
ChoiceBox
bruker
SingleSelectionModel
klasse som bare tillater å velge ett alternativ om gangen. De
selectedIndexProperty
metoden lar oss legge til en
ChangeListener
. Dette betyr at når alternativet som er valgt endres til et annet alternativ, vil endringshendelsen oppstå. Som du ser fra koden nedenfor, blir det lyttet til en endring, og når den inntreffer, kan det tidligere valgte alternativet og det nylig valgte alternativet bestemmes:
final Listalternativer = choice.getItems ();
valg.getSelectionModel (). valgtIndexProperty (). addListener (ny ChangeListener () {
@Override offentlig tomrom ble endret (ObservableValue ov, Number oldVelected, Number newVelected) {
System.out.println ("Old Selected Option:" + options.get (oldSelected.intValue ()));
System.out.println ("Nytt valgt alternativ:" + options.get (newSelected.intValue ()));
}
});

Det er også mulig å vise eller skjule listen over alternativer uten at brukeren trenger å klikke på

ChoiceBox
objekt ved å bruke
forestilling
og
gjemme seg
metoder. I koden under brukes et knappelement for å kalle showmetoden til a
ChoiceBox
objekt når
Knapp
er klikket:
// Bruk en stabelrute for en enkel utforming av kontrollene
StackPane root = ny StackPane ();
// Opprett-knapp for å vise alternativene i ChoiceBox
Button showOptionButton = new Button ("Vis alternativer");
root.getChildren (). legge til (showOptionButton);
root.setAlignment (showOptionButton, Pos. TOP_CENTER);
// Lag ChoiceBox med noen få alternativer
endelige ChoiceBox-valg = nye ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
root.getChildren (). legge til (valg);
// Bruk ActionEvent for å ringe ChoiceBox-visningsmetoden
showOptionButton.setOnAction (new EventHandler () {
@Override offentlig tomromhåndtak (ActionEvent e) {
choices.show ();
}
});
// Sett scenen og sett scenen i bevegelse ..
Scene scene = ny Scene (root, 300, 250);
primaryStage.setScene (scene);
primaryStage.show ();

Hvis du vil finne ut om andre JavaFX-kontroller, kan du se på JavaFX brukergrensesnittkontroller.