4

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

我当然可以:

布尔禁用;

datePicker.addValueChangeHandler(new ValueChangeHandler() {

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

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

datePicker.setEnabled(false);

有任何想法吗?

GWT 2.3.0

4

1 回答 1

3

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

DatePicker 是一个Composite,所以我认为您不能直接启用/禁用它。但是您可以添加一个预览处理程序来禁用事件,或者在其上放置一个面板(例如,将其变灰)。请参阅此答案以获取相关信息:禁用 GWT 容器中的用户交互?

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

于 2013-01-16T14:18:33.063 回答