如何防止GXT Dialog关闭验证失败

时间:2013-08-15 23:22:06

标签: java gwt gxt

我有一个简单的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;
            }
        }
    });

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

1 个答案:

答案 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的早期版本。