Frage

habe ich ein JTextField für Benutzer eine Seriennummer einzugeben. Die Form der Seriennummer ist so, dass es keiner der Buchstaben enthält I, O oder S, da sie sich auf 1 ähnlich aussehen, 0 und 5. Was ist der richtige Weg, es zu machen, so dass, wenn der Benutzer tippt eine jener Briefe, es gibt die Nummer statt?
z.B. Der Benutzer tippt AaOo0 und es geht in die JTextField als Aa000
Um zu klären, dies während der Benutzer tippt jedes Zeichen geschehen sollte, nicht, nachdem sie den Befehl eingegeben haben und verließ das Textfeld ein.

War es hilfreich?

Lösung

Verwenden Sie ein DocumentFilter .

So etwas wie:

AbstractDocument doc = (AbstractDocument)jtextField.getDocument();
doc.setDocumentFilter(yourImplementationOfDocumentFilterWhichChangeOto0OnInsertAndReplace);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top