我有一个简单的GXT对话窗口,有2个按钮,“OK”和“Cancel”。当按下确定按钮时,我确认字段不为空,我想阻止对话窗口关闭但我无法弄清楚如何。这就是我所拥有的
super.getButtonById(Dialog.OK).addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
if(netScanName.getValue() == null) {
Util.alert("All fields are required!");
return;
}
}
});
事件正常触发,因为我得到了窗口警报但随后对话框继续以任何方式关闭。有什么建议吗?
答案 0 :(得分:1)
您使用的是GXT 3.0.x吗?
使用GXT 3.0.x我会通过设置
来解决您的请求dialog.setHideOnButtonClick(false);
要管理对话框的关闭,请使用以下代码:
dialog.getButtonById(PredefinedButton.OK.name()).addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
if (netScanName.getValue() == null) {
Util.alert("All fields are required!");
} else {
dialog.hide();
}
}
});
不知道此代码是否适用于GXT的早期版本。