Comment ajouter la validation à un SWT
widget ? Par exemple Text
?
J'ai essayé les deux solutions suivantes (trouvées en ligne) :
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;
}
}
});
Aussi :
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;
}
}
});
Si j'ajoute un personnage, le curseur se bloque et je ne peux même pas le supprimer.
Même si j'efface tout du premier coup, le curseur se bloque également et je ne peux plus rien écrire.
Qu'est-ce que je fais ici ? Comment suis-je censé faire la validation d'une Text
?
Dans ce cas, je veux seulement accepter un nombre servant de port.