如何在GWT中禁用DatePicker?

时间:2013-01-16 13:53:55

标签: java gwt

如您所知com.google.gwt.user.datepicker.client。 DatePicker 没有方法setEnabled(boolean)。我有DatePicker与ValueChangeHandler,我需要的是禁用datepicker(onValueChange中的代码不应该工作)。

我当然能做到:

  

布尔禁用;

     

datePicker.addValueChangeHandler(new ValueChangeHandler(){

        @Override
        public void onValueChange(ValueChangeEvent<Date> event) {
            if(!disable) {
                 // my code here
            }
        }
    });

但我不会这样做。我想写类似的东西:

  

datePicker.setEnabled(假);

有什么想法吗?

GWT 2.3.0

1 个答案:

答案 0 :(得分:3)

我有一段时间没有使用GWT,所以这更像是一个指针而不是一个答案,但我想要包含几个链接,所以使用了答案框;)。

DatePicker是Composite,因此我认为您不能直接启用/禁用它。但是你可以添加一个预览处理程序来禁用事件,或者在它上面抛出一个面板(例如,将它变灰)。有关该问题的信息,请参阅此答案:Disable user interaction in a GWT container?

作为一般说明,从FocusWidget扩展的所有内容都是启用/禁用,但复合是其他小部件的集合,因此它们的工作方式不同。