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