如何向SWT
小部件添加验证?例如Text
?
我尝试了以下两种方法(在网上找到):
txtPort.addListener(SWT.Verify,new Listener() {
@Override
public void handleEvent(Event event) {
String port = ((Text)event.widget).getText();
try{
int portNum = Integer.valueOf(port);
if(portNum <0 || portNum > 65535){
event.doit = false;
}
}
catch(Exception ex){
event.doit = false;
}
}
});
还:
txtPort.addVerifyListener(new VerifyListener() {
@Override
public void verifyText(VerifyEvent e) {
String port = ((Text)e.widget).getText();
try{
int portNum = Integer.valueOf(port);
if(portNum <0 || portNum > 65535){
e.doit = false;
}
}
catch(Exception ex){
e.doit = false;
}
}
});
如果我添加一个字符,光标会卡住,我什至无法删除它。
即使我第一次删除所有内容,光标也会卡住,我无法写其他任何内容。
我在这里搞砸了什么?我应该如何验证 a Text
?
在这种情况下,我只想接受一个数字作为端口。