【发布时间】:2016-10-15 10:42:36
【问题描述】:
下面代码中的“leftContent”容器具有固定宽度(100px),一切正常。问题是:如何将 mainContent 的宽度设置为最大?最大我的意思是填充所有浏览器的可用宽度。现在我在按钮旁边显示了滚动条,这不是我所期望的。我也不想为这个“mainContent”元素设置以像素为单位的固定宽度。
提前致谢!
主界面类:
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();
}
【问题讨论】:
-
在您的
init方法中,您是否尝试过container.setSizeFull()? -
嗯,它有所帮助,但 leftContent 扩大到屏幕宽度的 50%。我试过设置
container.setExpandRadio(...),但它不是永久的解决方案,因为当窗口变小时,leftContent 也会缩小。 @Morfic 你有什么想法吗? -
好吧,如果您可以提供sscce 并提供一些屏幕截图来解释您希望发生的事情以及当前的问题,我们一定会看一看。就目前而言,仅从描述中很难弄清楚
-
你试过
leftContent.setWidth("100px"); container.setExpandRatio(leftContent, 0f); container.setExpandRatio(mainContent, 1f);吗?如果有,问题出在哪里? -
@A.Meier 工作就像一个魅力,谢谢!尽管如此,我必须说 vaadin 的官方指南应该包含有关这些基本行为的更多信息......
标签: java jakarta-ee vaadin vaadin7