GWT 2.4自定义列表框不触发更改事件
通过如下扩展,我向标准GWT列表框添加了一些额外的功能: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
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,谢谢,我自己也注意到了,但这不是解决办法。我将用细节更新我的帖子。