在GXT中为Date触发Change事件

Lav*_*Lav 3 java gwt gxt

我有这样的UI

在此输入图像描述

它使用com.extjs.gxt.ui.client.widget.form.DateField 在Date的"change"事件中我有一个监听器.这里的问题是

  1. 当用户更改日期然后单击外部(表单的空白区域中的某处)时,才会触发"更改事件"
  2. 如果用户只更改日期并且未在表单上单击外部,则不会触发更改事件.
  3. 我尝试过像Focus,Blur这样的其他事件.这些问题的问题是日期是空的(而不是新的更改值)我想只在日期值改变时调用我的代码(用户不需要点击外部)

我的问题是我只想在更改日期值调用我的代码,而无需用户点击外面...有没有办法?

小智 6

我认为你在datefield上应用监听器.你必须在datepicker上应用监听器,如下所示

DateField dateField = new DateField();
dateField.getDatePicker().addListener(Events.Select, new Listener<DatePickerEvent>() {

        @Override
        public void handleEvent(DatePickerEvent be) {
            System.out.println("Selected Date : "+be.getDate());
        }
});
Run Code Online (Sandbox Code Playgroud)

我希望它会对你有所帮助.