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,唯一的方法。 –