我有一个Button的代码:
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
答案 0 :(得分:2)
您可以使用Window.addCloseListener
订阅窗口关闭事件。
这样的事情应该有效(免责声明:未经测试的代码):
deleteModal.addCloseListener((Window.CloseEvent e) -> refresh());