2013-01-16 45 views
4

正如您所知的com.google.gwt.user.datepicker.client。 DatePicker還沒有方法setEnabled(boolean)。我有DateCicker與ValueChangeHandler和我需要的是禁用datepicker(onValueChange中的代碼不應該工作)。如何禁用GWT中的DatePicker?

我當然可以這樣做:

布爾禁用;

datePicker.addValueChangeHandler(新ValueChangeHandler(){

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

但我不會做到這一點我想寫出這樣的事情:

datePicker.setEnabled(假);

任何想法?

GWT 2.3.0

+0

只是關於你的GWT版本的評論:你真的應該得到2.5.0之一,主要是因爲編譯器優化。 –

+0

您是否試圖禁用DatePicker上的點擊以及由此產生的UI更改,包括月份選擇符等... – SSR

回答

3

我有一段時間沒有使用GWT,所以這是一個比答案更多的指針,但我想包含幾個使用答案框的鏈接;)。

DatePicker是Composite,所以我不認爲你不能直接啓用/禁用它。但是,您可以添加預覽處理程序以禁用事件,或者將面板放置在其上(例如,將其變爲灰色)。有關此信息,請參閱此答案:Disable user interaction in a GWT container?

作爲一般說明,從FocusWidget延伸的所有內容都啓用/禁用,但合成是其他小部件的集合,因此它們的工作方式不同。