ChoiceBoxclasa 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
ChoiceBoxobiect să accepte o opțiune nulă ca o alegere validă.
import javafx.scene.control.ChoiceBox;
ChoiceBoxclasa 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"));
Dacă alegeți să creați un gol
ChoiceBoxelemente pot fi adăugate ulterior folosind
setItemsmetodă:
options.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Pear", "Strawberry"));
Și, dacă doriți să aflați ce elemente sunt într-un
ChoiceBoxputeți utiliza
getItemsmetodă:
Opțiuni de listă = options.getItems ();
Pentru a alege o opțiune care trebuie selectată în prezent, utilizați
SetValuemetoda și oferă-i una dintre opțiuni:
choices.setValue ( "primul");
Pentru a obține valoarea opțiunii selectate în prezent, utilizați corespondența
getValuemetodă și atribuiți-o unei șiruri:
String option = options.getValue (). ToString ();
Pentru a asculta evenimente pentru o
ChoiceBoxobiect, obiectul
SelectionModeleste folosit.
ChoiceBoxfolosește
SingleSelectionModelclasa care permite alegerea unei singure opțiuni simultan.
selectedIndexPropertymetoda 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
ChoiceBoxobiect folosind butonul
spectacolși
ascundemetode. În codul de mai jos, un obiect Button este folosit pentru a apela la metoda show a
ChoiceBoxobiect atunci când
Butonse 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.