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

时间:2015-02-12 12:19:48

标签: liferay vaadin liferay-6

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

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

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

编辑:也是自定义css,如

Height: auto; overflow: auto

无效。

1 个答案:

答案 0 :(得分:1)

这对我有用:

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);

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