ChoiceBox

Последнее обновление: 22.06.2018

Класс javafx.scene.control.ChoiceBox<T> представляет выпадающий список, но в отличие от ComboBox в ChoiceBox рядом с выбранным элементом устанавливается отметка.

Для создания объекта ChoiceBox можно использовать один из конструкторов класса:

  • ChoiceBox(): создает пустой выпадающий список

  • ChoiceBox(ObservableList<T> items): создает выпадающий список, заполненный элементами items

Из методов ChoiceBox следует выделить следующие:

  • void setValue(T item): устанавливает выбранный по умолчанию элемент (если не вызвать данный метод, то по умолчанию никакой элемент не будет выбран)

  • T item getValue(): возвращает текущий выбранный элемент

  • void setOnAction​(EventHandler<ActionEvent> value): устанавливает обработчик, который срабатывает при выборе элемента в списке

Создадим выпадающий список ChoiceBox:

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.FlowPane;
import javafx.scene.control.Label;
import javafx.scene.control.ChoiceBox;
import javafx.collections.ObservableList;
import javafx.collections.FXCollections;
import javafx.geometry.Orientation;
 
public class Main extends Application{
	
    public static void main(String[] args) {
         
        Application.launch(args);
    }
     
    @Override
    public void start(Stage stage) throws Exception {
         
		ObservableList<String> langs = FXCollections.observableArrayList("Java", "JavaScript", "C#", "Python");
		ChoiceBox<String> langsChoiceBox = new ChoiceBox<String>(langs);
		langsChoiceBox.setValue("Java");
		
        Label lbl = new Label();
		langsChoiceBox.setOnAction(event -> lbl.setText(langsChoiceBox.getValue()));
		FlowPane root = new FlowPane(10, 10, langsChoiceBox, lbl);
		
        Scene scene = new Scene(root, 300, 250);
         
        stage.setScene(scene);
        stage.setTitle("ChoiceBox in JavaFX");
        stage.show();
    }
}

После выбора элемента рядом с ним появится отметка:

ChoiceBox in JavaFX
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850