2016-09-27 171 views
0

我有一個特定大小的vaadin窗口當瀏覽器窗口很小時,某些字段不可見(可能是因爲窗口的大小)。我們需要在這些情況下啓用滾動。因此,我嘗試在面板中添加我的窗口內容,但它不起作用。請問您有什麼想法嗎?Vaadin窗口滾動

setModal(true); 
    setResizable(false); 
    setClosable(false); 
    Panel mainPanel = new Panel(); 
    VerticalLayout content = new VerticalLayout(); 
    content.addComponent....... 
    content.setSizeFull(); 
    mainPanel.setContent(content); 

回答

0

是來到我腦海中的解決方案,是同時設置最大高度和模態窗口的100%的高度,因此,如果內容沒有足夠的空間(由於瀏覽器窗口大小)滾動條將出現。相反,當瀏覽器窗口足夠大時,最大高度開始起作用,並且模式窗口居中並且已經在ccs最大高度中預定義。

代碼示例,在我的應用程序的工作原理:

windowOpenButton.addClickListener(event -> { 
    Window window = new Window(); 
    window.setWidth("100px"); 
    window.setHeight("100%"); 
    window.setModal(true); 
    window.setResizable(false); 
    window.setClosable(false); 
    Panel panel = new Panel(); 
    Button close = new Button("close"); 
    close.addClickListener(event1 -> window.close()); 
    VerticalLayout content = new VerticalLayout(new Button(), new Button(), new Button(), new Button(), new Button(), new Button(), new Button(), new Button(), new Button(), new Button(), close); 
    content.setSizeFull(); 
    panel.setContent(content); 
    window.setContent(panel); 
    window.setStyleName("max_height"); 
    panel.setSizeUndefined(); 
    UI.getCurrent().addWindow(window); 
}); 

CSS:

.max_height { 
    max-height: 350px; 
}