Java 如何防止GXT对话框在验证失败时关闭

Java 如何防止GXT对话框在验证失败时关闭,java,gwt,gxt,Java,Gwt,Gxt,我有一个简单的GXT对话框窗口,有两个按钮,“确定”和“取消”。当按下OK按钮时,我确认字段不是空的,我想阻止对话框窗口被关闭,但我还没有弄清楚如何关闭。这是我的 super.getButtonById(Dialog.OK).addSelectionListener(new SelectionListener<ButtonEvent>() { @Override public void componentSelected(ButtonEvent ce)

我有一个简单的GXT对话框窗口,有两个按钮,“确定”和“取消”。当按下OK按钮时,我确认字段不是空的,我想阻止对话框窗口被关闭,但我还没有弄清楚如何关闭。这是我的

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;
            }
        }
    });
super.getButtonById(Dialog.OK).addSelectionListener(新建SelectionListener()){
@凌驾
已选择公共无效组件(按钮事件ce){
if(netScanName.getValue()==null){
Util.alert(“所有字段都是必需的!”);
返回;
}
}
});

事件正确激发,因为我得到了窗口警报,但随后对话框继续以任何方式关闭。有什么建议吗?

您正在使用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的早期版本。

您使用的是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的早期版本。

我使用的是GXT版本2.2(不幸的是),但这正是我必须采取的方法,以使其按我希望的方式运行。谢谢我使用的是GXT版本2.2(不幸的是),但这正是我必须采取的方法,以使其按我希望的方式运行。谢谢