vaadin 7 有两个水平布局,一个在右边
vaadin7 with two HorizontalLayout one on the right
我有 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
应该占据了window的全部左边。
我尝试使用 setComponentAlignment
但不能使 c1
更宽,并且 setExpandRatio
但是当我最大化 window 时,c2
并不完全在右边,看起来像在 window 尺寸变化的情况下应该改变比率,所以我猜比率不是解决方案。我尝试使用 GridLayout
,但无法在 100%
和第二个 40px
上设置第一个单元格。请大家帮忙
我认为您可以通过使用展开比率和全尺寸 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 和全尺寸垂直布局中测试为 UI 内容。
我有 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
应该占据了window的全部左边。
我尝试使用 setComponentAlignment
但不能使 c1
更宽,并且 setExpandRatio
但是当我最大化 window 时,c2
并不完全在右边,看起来像在 window 尺寸变化的情况下应该改变比率,所以我猜比率不是解决方案。我尝试使用 GridLayout
,但无法在 100%
和第二个 40px
上设置第一个单元格。请大家帮忙
我认为您可以通过使用展开比率和全尺寸 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 和全尺寸垂直布局中测试为 UI 内容。