2017-06-15 87 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