首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何能设置宽度的vaadin布局,但仍然有内部组件占用足够多的空间,他们需要?

问我如何能设置宽度的vaadin布局,但仍然有内部组件占用足够多的空间,他们需要?
EN

Stack Overflow用户
提问于 2018-06-01 13:31:42
回答 1查看 647关注 0票数 2

所以我有一个VerticalLayout的对象。在没有设置高度的情况下,内部组件看起来很好:每个标签尽可能占用最少的空间,并保持在顶部:

​

​

但是,如果我用filesLayout.setHeight("400px");将布局的高度设置为400 33-我的3个标签开始占用33%的空间:

​

​

我只想让我的标签只占用所需的空间,只要我设置它,我的VerticalLayout就会被占用。求你帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-01 15:36:49

VerticalLayout在所有组件之间平均分配高度。因此,对于3个组件,您将得到3行,每个行都是整个VerticalLayout高度的33%。

您可以使用.setExpandRatio(...)操作展开比率。

要使所有的Labels都在顶部,只需要向Label最后一个元素添加一个“空”Labelals最后一个元素,并告诉VerticalLayout使用最后一行的所有“溢出”高度。

代码语言:javascript
复制
Label empty= new Label();
vl.addComponent(empty);
vl.setExpandRatio(empty, 1);

将其设置为1意味着它将占用溢出高度的1部分。

还有一种简单的方法可以在一次调用中做到这两种方法:

代码语言:javascript
复制
vl.addComponentsAndExpand(empty);

这是你问题的答案,但你可能会回答这个问题:

当VerticalLayout的内容高于可用的高度时,我们该怎么办?但这是另一个问题,如果您希望有滚动条,那么面板可能是更好的容器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50644614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档