如何从 com.smartgwt.client.widgets.Window 取消关闭事件?我需要用户确认关闭窗口,我看到类 com.smartgwt.client.widgets.tab.events.TabCloseClickEvent 有一个取消方法来停止操作,我需要相同的 com.smartgwt.client.widgets .events.CloseClickHandler。我如何实现这个功能?
问问题
2433 次
3 回答
1
public HandlerRegistration addCloseClickHandler(CloseClickHandler handler)
处理单击此窗口的关闭按钮。默认实现隐藏窗口并返回 false 以取消冒泡。如果您希望执行其他操作,请覆盖此方法。
于 2012-06-06T16:32:14.190 回答
0
在您的窗口对象中
myWindowObject.addCloseClickHandler(new CloseClickHandler() {
public void onCloseClick(CloseClickEvent event) {
//Do whatever
if(IHaveTOCancel){
event.cancel();
}
}
});
于 2015-12-03T09:14:25.600 回答
0
我发现如果您不立即取消事件(因为它正在等待用户输入),那么窗口无论如何都会关闭。如果您需要等待用户输入,这是我发现的有效方法。
window.addCloseClickHandler(new CloseClickHandler() {
@Override
public void onCloseClick(CloseClickEvent event) {
event.cancel();
StringBuilder b = new StringBuilder();
b.append("<BR>");
b.append("Are you sure you want to close?");
SC.ask("Close", b.toString(), new BooleanCallback() {
@Override
public void execute(Boolean value) {
if (value) {
window.close();
}
}
});
}
});
于 2017-02-18T14:10:57.880 回答