我有一个附加了changeHandler的列表框。
在此changehandler中,有一些我不想复制的非常重要的验证,以保持我的代码干净。
this.myListBox.addChangeHandler(this.myChangeHandler);
private ChangeHandler myChangeHandler = new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
If (a<0)...
}
}
我以前有一个
ChangeListener
和onChange(Widget sender)
,但现在已弃用。使用侦听器,可以很容易地执行ChangeListener:
this.myChangeListener.onChange(this.myListBox);
即使用户未触摸列表框,如何执行新的
onChange(ChangeEvent event)
的ChangeHandler
? (以进行验证) 最佳答案
因为是本地事件,所以无法实例化ChangeEvent。您可以创建一个实现ChangeHandler的类,并将onChange逻辑放入接受ListBox作为参数的公共方法(验证)中。然后从onChange方法调用新的validate方法。如果要“手动”使用它,则只需调用validate。