0
我正在使用SmartGwt開發SDI Web應用程序。在主窗口中,當點擊一個按鈕時,我想彈出一個窗口。但是,當彈出窗口關閉時,主窗口無法捕捉事件。有沒有什麼好的方法可以做到這一點?如何跟蹤SmartGwt的窗口關閉
IButton showPopupButton = new IButton();
showPopupButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Window popup = new Window();
popup.show();
SC.say("The popup was closed"); // UNEXPECT: It shows up just after the popup is shown.
}
});
目前,我可以聲明參數BooleanCallback到構造函數,這樣,當將要關閉彈出窗口,它應該調用回調函數。
我有一個解決辦法:
IButton showPopupButton = new IButton();
showPopupButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Window popup = new MyWindow(new BooleanCallback() {
public void execute(Boolean value) {
SC.say("The popup was closed");
}
});
popup.show();
}
});
但如果別人編寫一個插件,我和不使用這樣的「回調函數」到它的構造,如何跟蹤窗口關閉事件?我試圖註冊一個VisiblityChangedHandler到彈出窗口,但它不起作用。
此代碼嘗試將監控所有窗口關閉的事件不是一個特定的窗口。但對於不同的窗口,響應操作可能會有所不同。你的方法似乎工作。我讓問題公開三天,看看有沒有更好的辦法。 – stanleyxu2005
+ 1.Afaik,唯一的方法。 –