编辑:
我现在发布了一个附加组件
here
它提供了类
VerticalScrollLayout
以及班级
HorizontalScrollLayout
. 如果有改进的建议,请随时联系我或在这里发表评论。
是的,这是可能的,尽管没有现有的组件可以自动执行。
方法是放置一个垂直的箭头(用于
垂直的
滚动条),并设置
display
垂直布局的属性
flex
到
block
. (归功于迭戈·桑兹·维拉弗鲁埃拉
vaadin forum
)
我自己做的
垂直滚动布局
为你做这一切的班级,所以
在视图中使用它和使用简单的垂直布局一样简单
public class VerticalScrollLayout extends VerticalLayout {
private VerticalLayout content;
public VerticalScrollLayout(){
preparePanel();
}
public VerticalScrollLayout(Component... children){
preparePanel();
this.add(children);
}
private void preparePanel() {
setWidth("100%");
setHeight("100%");
getStyle().set("overflow", "auto");
content = new VerticalLayout();
content.getStyle().set("display", "block");
content.setWidth("100%");
content.setPadding(false);
super.add(content);
}
public VerticalLayout getContent(){
return content;
}
@Override
public void add(Component... components){
content.add(components);
}
@Override
public void remove(Component... components){
content.remove(components);
}
@Override
public void removeAll(){
content.removeAll();
}
@Override
public void addComponentAsFirst(Component component) {
content.addComponentAtIndex(0, component);
}
}