它俩通常是给Text控件使用的,用户输入变化时会触发这两个事件。
VerifyListener
用于校验输入是否有效,由e.doit来确定,如果e.doit为true,则输入成功;如果e.doit为false,则不允许输入。下面的例子,不允许输入字母“s”。
comboViewer.getCombo().addVerifyListener(new VerifyListener() {
@Override
public void verifyText(VerifyEvent e) {
// Prevent from inputing letter "s".
e.doit = !"s".equals(e.text);
}
});
ModifyListener
只要UI上显示有输入,则会触发此事件。如果同时还有VerifyListener,则在e.doit=true时,才会触发ModifyListener。也就是真正有修改,才会触发此事件。
comboViewer.getCombo().addModifyListener(new ModifyListener(){
@Override
public void modifyText(ModifyEvent e) {
System.out.println("Input changed.");
}
});