如何等待 Window 的退出事件?

How to Wait for an Exit Event of a Window?

我有一个按钮代码:

private void createDeleteButton() {
    Button deleteButton = new Button("Delete");

    deleteButton.addClickListener((Button.ClickEvent e) -> {
        LOG.info("Creating DeleteModal Window");
        DeleteModal deleteModal= new DeleteModal(queryName);
        this.getUI().getUI().addWindow(deleteModal);
        // I want to wait for the exit event of delete modal
        // and then execute the next method
        refresh();
    });
    buttonPanel.addComponent(deleteButton);
}

当我点击这个按钮时,会出现一个window,但同时会执行refresh();方法

有没有办法等待deleteModal的退出事件,然后执行refresh();方法?

备注:

删除模式extends Window

我正在使用 Vaadin

包含此方法的classextends VerticalLayout

您可以通过 Window.addCloseListener 订阅 window 的关闭事件。

像这样的东西应该可以工作(免责声明:未经测试的代码):

deleteModal.addCloseListener((Window.CloseEvent e) -> refresh());