Wie zu tun, die Validierung der Eingabe eines SWT-widget (Text)

Wie kann eine Validierung Hinzugefügt eine SWT widget? E. g. Text?
Ich habe versucht, die beiden folgenden (online gefunden):

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;  
      }                 
   }  
});  

Auch:

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;  
      }  
   }  
});     

Wenn ich ein Zeichen hinzuzufügen, den cursor stucks und kann ich auch nicht löschen.
Auch wenn ich einfach alles löschen das erste mal, dass der cursor auch stucks, und ich kann nicht alles schreiben, was sonst.
Was bin ich Durcheinander hier? Wie soll ich die Validierung einer Text?
In diesem Fall möchte ich nur eine Zahl anzunehmen dient als Hafen.

InformationsquelleAutor Cratylus | 2012-10-04

Schreibe einen Kommentar