Най-
ChoiceBoxклас се използва за създаване на контрола, която представя на потребителя няколко възможности за избор от падащ списък. На потребителя е разрешено да избере само една от опциите. Когато падащият списък не се показва, тогава избраната в момента опция е единствената видима. Възможно е да настроите
ChoiceBoxобект да приеме нула опция като валиден избор.
Декларация за внос
импортиране javafx.scene.control. ChoiceBox;
конструкторите
Най-
ChoiceBoxклас има два конструктора един за празен списък от елементи и един с даден набор от елементи:
// Създайте празен ChoiceBox
ChoiceBox избор = нов ChoiceBox ();
// Създайте ChoiceBox с помощта на наблюдателна колекция от списъци
ChoiceBox cboices = нов ChoiceBox (FXCollections.observableArrayList („Apple“, „Banana“, „Orange“, „Peach“, „Pear“, „ягода“));
Полезни методи
Ако решите да създадете празно
ChoiceBoxелементи могат да бъдат добавени по-късно с помощта на
setItemsметод:
choices.setItems (FXCollections.observableArrayList ("Apple", "Banana", "Orange", "Peach", "Круша", "Ягода"));
И, ако искате да разберете кои елементи са в
ChoiceBoxможете да използвате
getItemsметод:
Опции на списъка = choices.getItems ();
За да изберете опция, която да бъде избрана в момента, използвайте
setValueметод и му предоставете една от опциите:
choices.setValue ( "Първа");
За да получите стойността на избраната понастоящем опция, използвайте съответната
getValueметод и да го присвоите на a низ:
String опция = choices.getValue (). ToString ();
Работа със събития
За да слушате събития за a
ChoiceBoxобект,
SelectionModelсе използва. Най-
ChoiceBoxизползва
SingleSelectionModelклас, който позволява да се избере само една опция в даден момент. Най-
selectedIndexPropertyметод ни позволява да добавим a
ChangeListener. Това означава, че когато избраната опция се промени в друга опция, ще се случи събитието на промяна. Както можете да видите от кода по-долу, се прослушва промяна и когато възникне, предварително избраната опция и новоизбраната опция могат да бъдат определени:
окончателни опции за списък = choices.getItems ();
choices.getSelectionModel (). selectedIndexProperty (). addListener (нов ChangeListener () {
@Override public void променен (ObservableValue ov, Номер oldSelected, Number newSelected) {
System.out.println ("Стара избрана опция:" + options.get (oldSelected.intValue ()));
System.out.println ("Нова избрана опция:" + options.get (newSelected.intValue ()));
}
});
Възможно е също да се покаже или скрие списъка с опции, без потребителят да трябва да натиска
ChoiceBoxобект с помощта на
шоуи
Крияметоди. В кода по-долу обект Button се използва за извикване на метода на показване на a
ChoiceBoxобект, когато
бутонсе кликва:
// Използвайте стекпайн за просто оформление на контролите
StackPane root = нов StackPane ();
// Създаване на бутон за показване на опциите в ChoiceBox
Бутон showOptionButton = нов бутон ("Покажи опции");
root.getChildren (). добавяне (showOptionButton);
root.setAlignment (showOptionButton, Pos. TOP_CENTER);
// Създайте ChoiceBox с няколко опции
окончателен избор на ChoiceBox = нов ChoiceBox (FXCollections.observableArrayList („Apple“, „Banana“, „Orange“, „Peach“, „Pear“, „ягода“));
root.getChildren (). добавяне (избор);
// Използвайте ActionEvent, за да извикате метода на показване на ChoiceBox
showOptionButton.setOnAction (нов EventHandler () {
@Override обществена дръжка за void (ActionEvent e) {
choices.show ();
}
});
// Задайте сцената и пуснете сцената в движение.
Сцена сцена = нова сцена (корен, 300, 250);
PrimaryStage.setScene (сцена);
primaryStage.show ();
За да разберете за другите JavaFX контроли, разгледайте контролите на потребителския интерфейс на JavaFX.