Подравняване във Ваадин

Имам следния код, който написах на Vaadin.

Проблемът е, че подравняването не работи. Зададох го на bottom_center, но всички компоненти са залепени в горната част (top_center) на моя уеб браузър.

Може ли някой да ми помогне с това?

Благодаря!

    VerticalLayout layout = new VerticalLayout();
    VerticalLayout layout1 = new VerticalLayout();
    Panel panel = new Panel();
    panel.setWidth("500px");
    panel.setHeight("300px");

    Button button = new Button("Enter");
    Button login = new Button("Login");

    layout1.addComponent(textfield);
    layout1.addComponent(button);
    layout1.addComponent(login);
    layout.addComponent(panel);

    layout.setComponentAlignment(panel, Alignment.BOTTOM_CENTER);
    layout1.setComponentAlignment(textfield, Alignment.BOTTOM_CENTER);
    layout1.setComponentAlignment(login, Alignment.BOTTOM_CENTER);
    layout1.setComponentAlignment(button, Alignment.BOTTOM_CENTER);

person user3702643    schedule 04.06.2014    source източник


Отговори (3)


Причината компонентите да изглеждат подравнени към върха е, че не сте посочили височина за вашите VerticalLayouts. Когато не посочите размер за оформление, неговият размер се определя от дъщерните компоненти, които съдържа. В такъв случай настройката на подравняването няма да има значение, тъй като няма допълнително място в слотовете на оформлението.

Задайте размера, като използвате напр. layout.setHeight("100%"); или layout.setSizeFull(); и трябва да забележите разликата веднага.

person jupenur    schedule 04.06.2014

Не сте посочили височина за оформлението, така че то ще се разширява отгоре към дъното, както е необходимо с всеки компонент, който добавите. Ако зададете layout.setHeight("100%");, компонентите ще бъдат подравнени отдолу.

person Morfic    schedule 04.06.2014

трябва да зададете setSizeUndefined() на вашия панел, текстово поле, вход, компонент на бутон и setSizeFull layout1.

person Ivan Wibawa    schedule 30.10.2016