vaadin7 с двумя горизонтальными раскладками, один справа - PullRequest
1 голос
/ 23 марта 2020

У меня есть HorizontalLayout и в нем комбо c1 и c2:

    HorizontalLayout hrzLy1 = new HorizontalLayout();
    mainVertical.addComponent(hrzLy1);
    hrzLy1.setWidth("100%");

    ComboBox c1 = new ComboBox("combo1");
    hrzLy1.addComponent(c1);
    c1.setWidth("100%");

    ComboBox c2 = new ComboBox("combo2");
    hrzLy1.addComponent(c2);
    c2.setWidth("40px");

Я бы хотел, чтобы c2 был справа и имел ширину 40px. c1 должно занимать всю левую сторону окна. Я попытался с setComponentAlignment, но не могу получить c1 widther и setExpandRatio, но когда я увеличиваю окно, c2 не совсем справа, похоже, что соотношение должно быть изменено в случае изменения размера окна, поэтому я думаю, что соотношение не является решением. Я попытался с GridLayout, но я не могу установить первую ячейку на 100% и второй 40px. Пожалуйста, помогите.

1 Ответ

0 голосов
/ 25 марта 2020

Я думаю, что вы можете достичь, используя коэффициент расширения и полноразмерный c1 - давая коэффициент расширения 1 для полноразмерного комбинированного списка. (но я думаю, что я не совсем понимаю, в чем проблема, когда вы пытались это сделать).

Вот то, что я пробовал, похоже, работает так, как вы хотите достичь:

HorizontalLayout hrzLy1 = new HorizontalLayout();
hrzLy1.setWidth("100%");

ComboBox c1 = new ComboBox("combo1");
c1.setSizeFull();

ComboBox c2 = new ComboBox("combo2");
c2.setWidth("40px");

hrzLy1.addComponents(c1,c2);
hrzLy1.setExpandRatio(c1, 1.0f);

Протестировано в Vaadin 7.7.13 и полноразмерном вертикальном макете в качестве содержимого пользовательского интерфейса.

enter image description here

...