2012-09-26 40 views
1

我已經像這樣擴展它增加了一些額外的功能,以標準的GWT列表框:GWT 2.4定製列表框不會觸發更改事件

public class FeatureListBox extends ListBox 
{ 
    public FeatureListBox() 
    { 
    } 
    public FeatureListBox(boolean isMultipleSelect) 
    { 
     super(isMultipleSelect); 
    } 
    public FeatureListBox(Element element) 
    { 
     super(element); 
    } 
} 

沒有看中這裏。但是,Change事件現在不會觸發,或者至少該處理程序(下面附加的)不會被調用。

FeatureListBox listBox = new FeatureListBox(); 
listBox.addChangeHandler(new ChangeHandler() 
{ 
    public void onChange(ChangeEvent event) 
    { 
     // Do something here... 
    } 
}); 

任何想法,爲什麼?

回答

0

要麼從FeatureListBox中刪除無參數構造函數,要麼在其中調用super(),否則不會發生超類中的初始化,這可能會導致您看到的內容。

+0

Borya,謝謝,我真的注意到它自己,但那不是解決方案。我將更新我的帖子的細節。 –

0

問題出在我使用自定義列表框的方式。在我的應用程序中,我使用靜態的wrap()它們的窗口小部件類的方法將GWT窗口小部件包裝在頁面上的現有DOM元素周圍,其中窗口小部件被標記爲附着,使它們成爲事件。我最初並沒有使用自定義列表框類,所以我最終實現了一個類似於常規ListBox小部件的靜態wrap()方法,並在我的代碼中使用它。現在一切都像魅力一樣運作。

相關問題