Buenos días, estoy haciendo una aplicación con GWT y ya he indagado y probado algo de código, pues capturar el evento es realmente sencillo, pero hacer un tratamiento adecuado, no tanto.
Lo que quiero es que al capturar el evento, no se muestre la ventana de confirmación por defecto, sino una propia, algo asi como esto:
Código:
Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(Window.ClosingEvent event) {
final HideEvent.HideHandler hideHandler = new HideEvent.HideHandler() {
@Override
public void onHide(HideEvent event) {
Dialog btn = (Dialog) event.getSource();
String msg = Format.substitute("The '{0}' button was pressed", btn.getText());
if (msg.equalsIgnoreCase("yes"))
;//que se cierre el navegador;
else
;//que se mantenga abierto el navegador
}
};
ConfirmMessageBox box = new ConfirmMessageBox("Confirm", "Application closes: the no saved changes will be lose. Do you realy want exit?");
box.addHideHandler(hideHandler);
box.show();
}
});
ya sea usando esta variante de
Window.ClosingHandler o la del
WindowCloseListener.
Muchas gracias de antemano.