Я хотел бы сделать что-то вроде этого:
Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(ClosingEvent event) {
event.setMessage("Really?");
// If user clicks 'ok' in the dialog, execute code below. Else skip the code and return to window.
// CODE that does stuff goes here.
}
});
Как я получаю вход от диалогового окна?
Требуется два обработчика: один Window.ClosingHandler
и один CloseHandler
. См. ниже. Это гарантирует, что если в диалоговом окне будет нажата кнопка «Отмена», то CloseHandler
не будет запущен. Но если нажать «ОК», будет выполнен CloseHandler
, который запустит необходимый код. Это можно использовать для снятия блокировок БД, аккуратного закрытия открытых сеансов и т. Д.
Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(ClosingEvent event) {
event.setMessage("You sure?");
}
});
Window.addCloseHandler(new CloseHandler<Window>() {
@Override
public void onClose(CloseEvent<Window> event) {
//Execute code when window closes!
}
});
Вы хотите изучить Window.Confirm для такого рода функций.
Вы можете прочитать об этом здесь: gwt.user.client.Window