VerticalLayout
равномерно распределяет высоту между всеми компонентами.Таким образом, с 3 компонентами, вы получите 3 строки, каждая из которых составляет 33% от полной VerticalLayout
высоты.
Вы можете манипулировать коэффициентами расширения с помощью .setExpandRatio(...)
, чтобы иметь все Labels
сверху нужно просто добавить "пустой" Label
последний элемент к VerticalLayout
и указать VerticalLayout
использовать всю высоту "переполнения" для этой последней строки.
Label empty= new Label();
vl.addComponent(empty);
vl.setExpandRatio(empty, 1);
Установка его в 1 означает, что он займет 1 часть высоты переполнения.
Существует также этот сокращенный метод для выполнения обоих в одном вызове:
vl.addComponentsAndExpand(empty);
Это ответна ваш вопрос, но, вероятно, вы столкнетесь с этой проблемой:
Что мы делаем, когда содержимое VerticalLayout превышает доступную высоту?Но это другой вопрос, возможно, Panel будет лучшим контейнером, если вы хотите иметь полосы прокрутки.