Vaadin 8中的可滚动布局

时间:2019-07-19 10:01:16

标签: vaadin vaadin8

有时候我可以使用它,而有时候却没有那么多,而且我似乎无法弄清楚其中的影响因素。

这是我正在使用的代码,有时可以工作,而有时将其压缩为适合垂直空间而无需添加滚动条。

    final VerticalLayout layout = new VerticalLayout();
    setContent(layout);
    layout.setHeight("100%");
    VerticalLayout thisshouldnotscroll=new VerticalLayout(); thisshouldnotscroll.setHeight("100%");
    thisshouldnotscroll.addComponent(new Label("This should not scroll"));
    VerticalLayout thisshouldscroll=new VerticalLayout();
    thisshouldscroll.setHeight("100%");
    for (int i=0;i<200;i++){thisshouldscroll.addCompoenent(new Label("Item in list"));}
    layout.addComponents(thisshouldnotscroll,thisshouldscroll);

您如何在Vaadin8中从弹性模式切换到块模式?

1 个答案:

答案 0 :(得分:1)

  

是否存在可滚动的VerticalLayout实现的代码段?

在Vaadin 8中,有一个Panel组件,该组件基本上是可滚动的VerticalLayout。你试过了吗? https://vaadin.com/docs/v8/framework/layout/layout-panel.html

如果面板因某种原因无法正常工作,并且您想要实现自己的可滚动布局版本,则必须嵌套2个布局。外部将具有固定高度,即100%,而内部可扩展至所需的任何大小。然后将外部的溢出设置为隐藏。我为Vaadin Flow制作了ScrollableVerticalLayout组件,尽管您不能直接使用它,因为它与Vaadin 8不兼容,但是您可以在github中看到我是如何做到的,并将其复制到您的项目中