Вертикальная прокладка плана


  1. Почему компоненты внутри VerticalLayout размещены с некоторым отступом от края?
  2. Как решить эту проблему?

Код ниже демонстрирует эту проблему:

@Component
@UIScope
public class TestForm extends CustomComponent {

    public TestForm() {

        HorizontalLayout hlayout = new HorizontalLayout();
        VerticalLayout vlayout = new VerticalLayout();
        hlayout.setSizeFull();
        vlayout.setStyleName("page");

        Label label1 = new Label("Label1");
        Label label2 = new Label("Label2");
        hlayout.addComponent(label1);
        vlayout.addComponent(label2);
        hlayout.addComponent(vlayout);

        setCompositionRoot(hlayout);
    }

}

Результат: введите здесь описание изображения

Спасибо!

1 2

1 ответ:

Начиная с Vaadin 8, значение по умолчанию для VerticalLayout должно иметь "маржу". Это означает, что вы получаете заполнение, которое вы испытываете в каждой ячейке макета. Поэтому поместите label2 в то место, где вы хотите, чтобы он был, у вас есть вызов:

vlayout.setMargin(false)