ComboBox

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

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

Для создания выпадающего списка можно использовать один из конструкторов класса:

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

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

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

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

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

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

Создадим и используем выпадающий список:

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.ComboBox;
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");
		ComboBox<String> langsComboBox = new ComboBox<String>(langs);
		langsComboBox.setValue("Java");	// устанавливаем выбранный элемент по умолчанию
		
        Label lbl = new Label();
		
		// получаем выбранный элемент
		langsComboBox.setOnAction(event -> lbl.setText(langsComboBox.getValue()));
		
		FlowPane root = new FlowPane(10, 10, langsComboBox, lbl);
		
        Scene scene = new Scene(root, 300, 250);
         
        stage.setScene(scene);
        stage.setTitle("ComboBox in JavaFX");
        stage.show();
    }
}
ComboBox в JavaFX
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850