Элементы управления JavaFX: обзор ChoiceBox

ChoiceBox
Класс используется для создания элемента управления, который предоставляет пользователю несколько вариантов выбора из выпадающего списка. Пользователь может выбрать только один из вариантов. Если раскрывающийся список не отображается, отображается только выбранная в данный момент опция. Можно установить
ChoiceBox
объект, чтобы принять нулевую опцию как допустимый выбор.

Импорт заявления

импорт javafx.scene.control. ChoiceBox;

Конструкторы

ChoiceBox
Класс имеет два конструктора, один для пустого списка элементов и один с заданным набором элементов:
// Создать пустой ChoiceBox
ChoiceBox choices = new ChoiceBox ();
// Создаем ChoiceBox, используя видимую коллекцию списков
ChoiceBox cboices = new ChoiceBox (FXCollections.observableArrayList («Яблоко», «Банан», «Апельсин», «Персик», «Груша», «Клубника»));

Полезные методы

Если вы решили создать пустой

ChoiceBox
элементы могут быть добавлены позже с помощью
setItems
метод:
choices.setItems (FXCollections.observableArrayList («Яблоко», «Банан», «Апельсин», «Персик», «Груша», «Клубника»));

instagram viewer

И, если вы хотите узнать, какие предметы находятся в

ChoiceBox
Вы можете использовать
GetItems
метод:
Список параметров = choices.getItems ();

Чтобы выбрать вариант, который будет выбран в данный момент, используйте

SetValue
метод и предоставить ему один из вариантов:
choices.setValue ( "Первый");

Чтобы получить значение выбранной опции, используйте соответствующий

ПолучитьЗначение
метод и назначить его строка:
String option = choices.getValue (). ToString ();

Обработка событий

Для того, чтобы слушать события для

ChoiceBox
объект,
SelectionModel
используется.
ChoiceBox
использует
SingleSelectionModel
класс, который позволяет только один вариант, который будет выбран одновременно.
selectedIndexProperty
Метод позволяет нам добавить
ChangeListener
. Это означает, что всякий раз, когда выбранный параметр изменяется на другой параметр, происходит событие изменения. Как видно из приведенного ниже кода, прослушивается изменение, и когда оно происходит, можно выбрать ранее выбранную опцию и новую выбранную опцию:
окончательный список параметров = choices.getItems ();
choices.getSelectionModel (). selectedIndexProperty (). addListener (new ChangeListener () {
@ Переопределить общедоступную пустоту изменено (ObservableValue ov, Номер oldSelected, Номер newSelected) {
System.out.println («Старый выбранный параметр:» + options.get (oldSelected.intValue ()));
System.out.println («Новая выбранная опция:» + options.get (newSelected.intValue ()));
}
});

Также можно отобразить или скрыть список параметров, не нажимая на кнопку

ChoiceBox
объект с помощью
Показать
и
скрывать
методы. В приведенном ниже коде объект Button используется для вызова метода show объекта
ChoiceBox
объект, когда
кнопка
нажата:
// Используем стековую панель для простой компоновки элементов управления
StackPane root = новый StackPane ();
// Создать кнопку, чтобы показать опции в ChoiceBox
Кнопка showOptionButton = new Button («Показать параметры»);
root.getChildren (). add (showOptionButton);
root.setAlignment (showOptionButton, Pos. TOP_CENTER);
// Создаем ChoiceBox с несколькими опциями
окончательный выбор ChoiceBox = новый выбор ChoiceBox (FXCollections.observableArrayList («Яблоко», «Банан», «Апельсин», «Персик», «Груша», «Клубника»));
root.getChildren (). add (варианты);
// Используйте ActionEvent для вызова метода ChoiceBox show
showOptionButton.setOnAction (new EventHandler () {
@Override общедоступный указатель void (ActionEvent e) {
choices.show ();
}
});
// Устанавливаем сцену и приводим сцену в движение.
Сцена сцены = новая сцена (root, 300, 250);
primaryStage.setScene (scene);
primaryStage.show ();

Чтобы узнать о других элементах управления JavaFX, взгляните на элементы управления пользовательского интерфейса JavaFX.