java - 如何等待窗口的退出事件?

标签 java vaadin vaadin7

我有一个按钮的代码:

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

当我单击此按钮时,会出现一个窗口,但同时会执行 refresh(); 方法

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

注释:

DeleteModal 扩展窗口

我正在使用 Vaadin

包含此方法的类扩展VerticalLayout

最佳答案

您可以通过 Window.addCloseListener 订阅窗口的关闭事件.

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

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

关于java - 如何等待窗口的退出事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44562010/

相关文章:

执行多线程数据库应用程序时出现 java.lang.NullPointerException

java - 解析颜色不再适用于十六进制值

Java - 修改后的 compareTo 方法说它需要返回一个 int,但它应该返回一个

java - 当 mediaSets 中附加 java 7 时,install4j 工具提示卡住

java - Vaadin 版本升级到 7.4.6 导致错误 "typeerror cannot read property ' noLayout' of undefined”

java - 创建名称为 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration' 的 bean 时出错 :

java - 在网格对象中选择后,getItem() 使用 SQLContainer 返回 null,但该行存在

java - Vaadin Designer 主题选择器不支持自定义主题

java - 在 Vaadin 举办 Activity

java - 在 Vaadin 7 中,将数据/参数传递给 BrowserWindowOpener 的新 UI 实例?