Liferay 如何在Vaadin中动态设置子窗口高度

Liferay 如何在Vaadin中动态设置子窗口高度,liferay,vaadin,liferay-6,Liferay,Vaadin,Liferay 6,我的vaadin应用程序中有一个非常奇怪的问题。我正在从主窗口打开一个子窗口,该子窗口在后台执行一些操作,并显示一些新内容。该过程将继续更改内容 问题是每个内容的数量不同,因此每个内容的高度应相应设置。如何设置窗口的高度?“自动高度”不起作用 PS:我不是每次都使用新窗口,而是每次都修改内容 编辑:也可以自定义css,如 高度:自动;溢出:自动 不起作用。这对我有用: Window window = new Window("Window caption"); w

我的vaadin应用程序中有一个非常奇怪的问题。我正在从主窗口打开一个子窗口,该子窗口在后台执行一些操作,并显示一些新内容。该过程将继续更改内容

问题是每个内容的数量不同,因此每个内容的高度应相应设置。如何设置窗口的高度?“自动高度”不起作用

PS:我不是每次都使用新窗口,而是每次都修改内容

编辑:也可以自定义css,如

高度:自动;溢出:自动

不起作用。

这对我有用:

Window window = new Window("Window caption");                 
window.setResizable(false);                                   
window.setHeightUndefined();                                  


final VerticalLayout vl = new VerticalLayout();               
vl.setMargin(true);                                           
vl.setHeightUndefined();                                      
button = new Button("Add component");                         
button.addClickListener(new Button.ClickListener() {          
    public void buttonClick(Button.ClickEvent event) {        
        vl.addComponent(new Label("Thank you for clicking")); 
    }                                                         
});                                                           
vl.addComponent(button);                                      
button = new Button("Remove component");                      
button.addClickListener(new Button.ClickListener() {          
    public void buttonClick(Button.ClickEvent event) {        
        vl.removeComponent(vl.getComponent(2));               
    }                                                         
});                                                           
vl.addComponent(button);                                      
window.setContent(vl);

重要的是,窗口和布局的高度未定义

您的意思是,打开的窗口保持了开头的大小,以后对其所做的更改不再影响高度?是的,完全正确。为了简单起见,首先我显示100行,子窗口默认提供滚动条。接下来的内容是10行,所以高度应该相应地设置。同样,如果下一个内容有100行,则不会显示滚动条。这怎么可能呢?我在上面试过了,但还是有同样的问题。还有其他建议吗?