下面代码中的“ leftContent”容器具有固定宽度(100px),一切正常。问题是:如何将mainContent的宽度设置为最大? “最大”是指填充浏览器的所有可用宽度。现在,我在按钮旁边显示了滚动条,这不是我期望的。我也不想为此“ mainContent”元素设置固定的像素宽度。
提前致谢!
主要的UI类:
protected void init(VaadinRequest vaadinRequest) {
VerticalLayout leftContent = new VerticalLayout();
[...]
VerticalLayout mainContent = new VerticalLayout();
mainContent.setSizeFull();
mainContent.setMargin(false);
HorizontalLayout container = new HorizontalLayout();
container.addComponents(leftContent, mainContent);
setContent(container);
Navigator navigator = new Navigator(UI.getCurrent(), mainContent);
[...]
}
MainView类:
public class MainView extends Panel implements View {
@Override
public void enter(ViewChangeEvent event) {
setSizeUndefined();
VerticalLayout verticalLayout = new VerticalLayout();
verticalLayout.setSizeUndefined();
for(int i=0;i< 30;i++) {
verticalLayout.addComponent(new Button("text"));
}
setContent(verticalLayout);
setSizeFull();
}
最佳答案
为了清楚起见,这是评论的答案。以下代码为主要内容提供了最大宽度。
leftContent.setWidth("100px");
container.setExpandRatio(leftContent, 0f);
container.setExpandRatio(mainContent, 1f);