如您所知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
答案 0 :(得分:3)
我有一段时间没有使用GWT,所以这更像是一个指针而不是一个答案,但我想要包含几个链接,所以使用了答案框;)。
DatePicker是Composite,因此我认为您不能直接启用/禁用它。但是你可以添加一个预览处理程序来禁用事件,或者在它上面抛出一个面板(例如,将它变灰)。有关该问题的信息,请参阅此答案:Disable user interaction in a GWT container?
作为一般说明,从FocusWidget扩展的所有内容都是启用/禁用,但复合是其他小部件的集合,因此它们的工作方式不同。