Замените буквы числами в качестве пользовательских типов в JTextField - PullRequest
3 голосов
/ 17 ноября 2010

У меня есть JTextField для пользователей, чтобы ввести серийный номер.Форма серийного номера такова, что он не содержит ни одной буквы I, O или S, поскольку они выглядят аналогично 1, 0 и 5. Как правильно сделать это так, чтобы, если пользователь вводит одну из этих букв,вместо этого он вводит число?
Например, пользователь вводит AaOo0, и он входит в JTextField как Aa000
Для пояснения, это должно произойти, когда пользователь вводит каждый символ, а не после того, как он закончил печататьоставил текстовое поле.

1 Ответ

4 голосов
/ 17 ноября 2010

Использование DocumentFilter .

Что-то вроде:

AbstractDocument doc = (AbstractDocument)jtextField.getDocument();
doc.setDocumentFilter(yourImplementationOfDocumentFilterWhichChangeOto0OnInsertAndReplace);
...