我想在用户试图离开我的GWT应用程序时显示确认对话框。如果用户选择留在应用程序中,则不执行任何操作,否则应用程序应首先在关闭之前向服务器发送注销请求。
我该怎么做?
要使用哪个处理程序?
Window.addCloseHandler
或
Window.addWindowClosingHandler
答案 0 :(得分:7)
基于methods it has,addWindowClosingHandler
似乎就是您所需要的。
编辑:我认为你需要做的是......当窗口关闭时,即当用户点击关闭或重新加载按钮时,会调用addWindowClosingHandler
。窗口关闭时会调用addCloseHandler
。所以你使用两个!您使用结束处理程序来显示确认对话框,然后使用关闭处理程序来执行您只想在关闭时执行的操作。
Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(ClosingEvent event) {
event.setMessage("Do you wanna close?");
System.out.println("Closing...");
}
});
Window.addCloseHandler(new CloseHandler<Window>() {
@Override
public void onClose(CloseEvent<Window> event) {
System.out.println("Closed!");
}
});