Контроли на JavaFX: Общ преглед на ChoiceBox

Най-

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", "Круша", "Ягода"));

instagram viewer

И, ако искате да разберете кои елементи са в

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.

instagram story viewer