它俩通常是给Text控件使用的,用户输入变化时会触发这两个事件。
VerifyListener
用于校验输入是否有效,由e.doit来确定,如果e.doit为true,则输入成功;如果e.doit为false,则不允许输入。下面的例子,不允许输入字母“s”。
1 2 3 4 5 6 7 | 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。也就是真正有修改,才会触发此事件。
1 2 3 4 5 6 | comboViewer.getCombo().addModifyListener( new ModifyListener(){ @Override public void modifyText(ModifyEvent e) { System.out.println( "Input changed." ); } }); |