SWT: TextViewer mit ausschließlich numerischen Inhalt

testalucida

Mitglied
Hallo,

wie schaffe ich es, dass in einem jface.text.TextViewer nur Ziffern-Eingaben akzeptiert, Buchstaben und Sonderzeichen aber ignoriert werden?

Danke + Grüße
testalucida
 
Hallo!

Schau mal in der Klasse TextViewer nach dort gibt es nach API doc (Eclipse 3.1) eine Methode mit der Signatur:
addTextInputListener(ITextInputListener listener)
Wenn du dort eine ITextInputListener Implementierung übergibst in der du die
Methode void inputDocumentAboutToBeChanged(IDocument oldInput, IDocument newInput)
// Called before the input document is replaced.
überschreibst und darin die entsprechende Überprüfung durchführst (Beispielsweise über einen Regulären Ausdruck der nur Ziffern matched) müsstest da das ganze eigentlich hinbekommen.

Gruß Tom
 
Hi Tom,
ich nochmal.
Mit dem TextInputListener geht's nicht, der reagiert (offensichtlich) nur auf Austausch des Documents.
Es gibt aber eine Methode getTextWidget(), mit der man das zugrundeliegende Widget erhält.
Dort wiederum kann man einen Verify-Listener anmelden und die Methode verifyText( VerifyEvent e ) überschreiben. Wenn e.text nicht numerisch ist, setzt man e.doit = false, und schon wird der Input ignoriert...
Grüße nochmals
testalucida
 

Neue Beiträge

Zurück