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 («Яблоко», «Банан», «Апельсин», «Персик», «Груша», «Клубника»));
И, если вы хотите узнать, какие предметы находятся в
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.