2017-06-15 82 views
2

我有一个按钮的代码:如何等待窗口退出事件?

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 extends Window

我使用Vaadin

包含此方法extends VerticalLayout

回答

2

您可以订阅窗口的关闭事件与Window.addCloseListener的类。

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

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

谢谢你洙多,这就是我一直在寻找 – MaQuiNa1995