在GWT中确认浏览器退出

时间:2013-07-31 17:26:40

标签: java gwt web

我想在用户试图离开我的GWT应用程序时显示确认对话框。如果用户选择留在应用程序中,则不执行任何操作,否则应用程序应首先在关闭之前向服务器发送注销请求。

我该怎么做?

要使用哪个处理程序?

  

Window.addCloseHandler

  

Window.addWindowClosingHandler

1 个答案:

答案 0 :(得分:7)

基于methods it hasaddWindowClosingHandler似乎就是您所需要的。

编辑:我认为你需要做的是......当窗口关闭时,即当用户点击关闭或重新加载按钮时,会调用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!");
        }       
    });