Prezentare generală a ChoiceBox

ChoiceBox
clasa este utilizată pentru a crea un control care prezintă utilizatorului câteva opțiuni de ales dintr-o listă derulantă. Utilizatorul are voie să aleagă una dintre opțiuni. Când lista derulantă nu se afișează, opțiunea selectată în prezent este singura vizibilă. Este posibil să setați
ChoiceBox
obiect să accepte o opțiune nulă ca o alegere validă.

Declarație de import

import javafx.scene.control.ChoiceBox;

constructorilor

ChoiceBox
clasa are doi constructori unul pentru o listă goală de articole și unul cu un set de elemente:
// Creați un ChoiceBox gol
ChoiceBox choice = new ChoiceBox ();
// Creați un ChoiceBox folosind o colecție de liste observabile
Boxe ChoiceBox = new ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Metode utile

Dacă alegeți să creați un gol

ChoiceBox
elemente pot fi adăugate ulterior folosind
setItems
metodă:
options.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));

Și, dacă doriți să aflați ce elemente sunt într-un

ChoiceBox
puteți utiliza
getItems
metodă:
Opțiuni de listă = options.getItems ();

Pentru a alege o opțiune care trebuie selectată în prezent, utilizați

SetValue
metoda și oferă-i una dintre opțiuni:
choices.setValue ( "primul");

Pentru a obține valoarea opțiunii selectate în prezent, utilizați corespondența

getValue
metodă și atribuiți-o unei șiruri:
String option = options.getValue (). ToString ();

Manipularea evenimentelor

Pentru a asculta evenimente pentru o

ChoiceBox
obiect, obiectul
SelectionModel
este folosit.
ChoiceBox
folosește
SingleSelectionModel
clasa care permite alegerea unei singure opțiuni simultan.
selectedIndexProperty
metoda ne permite să adăugăm o
ChangeListener
. Aceasta înseamnă că, de fiecare dată când opțiunea selectată se schimbă la o altă opțiune, se va produce evenimentul de modificare. După cum puteți vedea din codul de mai jos, o modificare este ascultată și atunci când apare opțiunea selectată anterior și opțiunea nou selectată poate fi determinată:
Opțiuni finale de listă = options.getItems ();
options.getSelectionModel (). selectedIndexProperty (). addListener (nou ChangeListener ()
@ Supraveghează publicul gol schimbat (ObservableValue ov, Number oldSelected, Number newSelected)
System.out.println ("Opțiune veche selectată:" + options.get (oldSelected.intValue ()));
System.out.println ("Noua opțiune selectată:" + options.get (newSelected.intValue ()));

);

De asemenea, este posibil să afișați sau să ascundeți lista de opțiuni, fără ca utilizatorul să facă clic pe butonul

ChoiceBox
obiect folosind butonul
spectacol
și
ascunde
metode. În codul de mai jos, un obiect Button este folosit pentru a apela la metoda show a
ChoiceBox
obiect atunci când
Buton
se face clic:
// Utilizați o stivă pentru o dispunere simplă a controalelor
StackPane root = nou StackPane ();
// Butonul Create pentru a afișa opțiunile din ChoiceBox
Buton showOptionButton = buton nou („Afișați opțiuni”);
root.getChildren () se adaugă (showOptionButton.);
root.setAlignment (showOptionButton, Pos.TOP_CENTER);
// Creați ChoiceBox cu câteva opțiuni
Alegeri finale ChoiceBox = new ChoiceBox (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
root.getChildren () se adaugă (opțiuni).;
// Folosiți ActionEvent pentru a apela la metoda show-ului ChoiceBox
showOptionButton.setOnAction (nou EventHandler ()
@ Supraveghează public void handle (ActionEvent e)
choices.show ();

);
// Setați scena și puneți în scenă ...
Scena scena = Scena nouă (rădăcină, 300, 250);
primaryStage.setScene (scena);
primaryStage.show ();

Pentru a afla despre alte controale JavaFX, aruncați o privire la Comenzile de interfață utilizator JavaFX.