是來到我腦海中的解決方案,是同時設置最大高度和模態窗口的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;
}