如何在 Vaadin 8 中创建对话框 window?

How do I create a dialog window in Vaadin 8?

我们正在使用 Vaadin 8,但不幸的是,我们暂时只能使用该版本。

我需要能够在用户单击按钮时创建对话框 window。这个 window 不一定是可拖动的,但它需要是可定制的(即,不同的尺寸,内部有不同的组件)。例如,window 将包含文本字段、标签、组合等。

我的所有搜索都推荐我使用 Vaadin 11 或更高版本。我们目前不能这样做。

有没有在 Vaadin 8 中执行此操作的示例?如果有帮助,我们确实拥有付费的专业版许可证。

我有一个使用 PopupView:

的原始版本
    DateProcessedFilterUi dateProcessedFilterUi = new DateProcessedFilterUi();
    PopupView dateProcessedPopupView = new PopupView("", dateProcessedFilterUi.getPopupComponent());
    Button dateProcessedButton = new Button("Past Hour", click -> dateProcessedPopupView.setPopupVisible(true));
    dateProcessedPopupView.addPopupVisibilityListener(event -> dateProcessedFilterUi.setVisible(event.isPopupVisible()));

这行得通,但弹出窗口出现在按钮上方,当我的鼠标离开时弹出窗口消失。如果我至少可以停止 window 的自动关闭,那会有所帮助。

感谢您的任何建议。

您正在寻找 Window class (com.vaadin.ui.Window).
Vaadin Docs for Window
Window Demo

在 Vaadin Flow (10+) 中,它被替换为 Dialog