addvaluechangedHandler在gwt中触发两次..我应该使用什么替代方法?

addvaluechangedHandler在gwt中触发两次..我应该使用什么替代方法?,gwt,date,Gwt,Date,我正在使用以下代码。 但是addvaluechangedHandler在gwt中触发两次。 我应该使用什么其他方法使其只发生一次 calendar.addValueChangeHandler(new ValueChangeHandler<Date>() { @Override public void onValueChange(ValueChangeEvent<Date> event) { Date newDate = calenda

我正在使用以下代码。 但是
addvaluechangedHandler
在gwt中触发两次。 我应该使用什么其他方法使其只发生一次

calendar.addValueChangeHandler(new ValueChangeHandler<Date>() {  
    @Override
    public void onValueChange(ValueChangeEvent<Date> event) {

        Date newDate = calendar.getValue();
        newDate.setDate(newDate.getDate()+1);       
        if ((newDate.before(todaysDate))) {
            Window.alert("You can not choose past dates before " +todaysDate);
            calendar.setValue(null);
        }
    }
});
calendar.addValueChangeHandler(新的ValueChangeHandler(){
@凌驾
ValueChange上的公共作废(ValueChangeEvent事件){
Date newDate=calendar.getValue();
newDate.setDate(newDate.getDate()+1);
如果((newDate.before(todaysDate))){
Window.alert(“您不能选择“+Todaydate”之前的过去日期);
calendar.setValue(空);
}
}
});
请参见

解决办法似乎是:

public class DateBoxOneEvent extends DateBox {
  @Override
  public void setValue(Date date, boolean fireEvents) {
    if (date != null) {
      date.setHours(0);
      date.setMinutes(0);
      date.setSeconds(0);
    }
    super.setValue(date, fireEvents);
  }
}