0

我无法使用 Vaadin 创建流畅的布局。据我了解,为了根据容器的内容计算容器的大小,我必须使用该setSizeUndefined()方法。
这很好用,但是当我想添加组件时会出现一个问题,这些组件占用了该容器的所有可用空间,但大小未定义。我不能让它工作。

这是我正在尝试做的简化示例:

VerticalLayout layout = new VerticalLayout();
layout.setSizeUndefined();
layout.setMargin(false);

layout.addComponent(createButton("A somewhat longer label"));
layout.addComponent(createButton("Short label"));

private Button createButton(String label) {
    Button button = new Button(label);
    button.setSizeFull();
    button.setWidth("100%");
    return button;
}

按钮不会占据垂直布局容器的整个宽度。我在这里和那里读到过,不允许在未定义大小的容器内设置“100%”大小,但是我应该如何实现我想要实现的目标,记住我的流体布局需要未定义的大小?
如果有人认为我的用例不需要未定义的大小,我很乐意提供更多信息。我有很强的Flex背景,这可能会导致我从错误的角度看待这个问题。

4

1 回答 1

0

您是对的,您不能在具有未定义大小的 VerticalLayout 中使用相对大小的组件。您正在寻找的功能存在于一个名为WeeLayout的附加组件中。

于 2012-11-05T13:42:17.683 回答