GWT 2.4自定义列表框不触发更改事件

GWT 2.4自定义列表框不触发更改事件,gwt,listbox,Gwt,Listbox,通过如下扩展,我向标准GWT列表框添加了一些额外的功能: public class FeatureListBox extends ListBox { public FeatureListBox() { } public FeatureListBox(boolean isMultipleSelect) { super(isMultipleSelect); } public FeatureListBox(Element elem

通过如下扩展,我向标准GWT列表框添加了一些额外的功能:

public class FeatureListBox extends ListBox
{
    public FeatureListBox()
    {
    }
    public FeatureListBox(boolean isMultipleSelect)
    {
        super(isMultipleSelect);
    }
    public FeatureListBox(Element element)
    {
        super(element);
    }
}
这里没什么特别的。但是,更改事件现在没有触发,或者至少下面附加的处理程序没有被调用

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

想知道为什么吗?

要么从FeatureListBox中删除无参数构造函数,要么在其中调用super,否则超类中的初始化将不会发生,这可能会导致您看到的结果。

问题在于我使用自定义列表框的方式。在我的应用程序中,我使用GWT小部件的小部件类的静态包装方法将GWT小部件包装在页面上现有的DOM元素周围,在这些小部件类中,小部件被标记为已附加,从而使它们触发事件。我最初没有在自定义列表框类中这样做,所以我最终实现了一个类似于常规列表框小部件的静态包装方法,并在代码中使用它。现在一切都很有魅力。

Borya,谢谢,我自己也注意到了,但这不是解决办法。我将用细节更新我的帖子。