在一个JTextField替换为数字用户键入字母
-
25-09-2019 - |
题
我有一个JTextField供用户输入的序列号。序列号的形式是这样的,它包含任何字母I,O或S的,因为它们类似于1,0和5。什么是正确的方法让这个如果用户键入的字母之一,它输入数字呢?结果
例如用户类型AaOo0
,并进入了JTextField为Aa000
结果
为了澄清,这应该发生在用户键入每一个字符,而不是之后他们已经完成打字,离开了文本字段。
解决方案
使用一个的DocumentFilter 。
是这样的:
AbstractDocument doc = (AbstractDocument)jtextField.getDocument();
doc.setDocumentFilter(yourImplementationOfDocumentFilterWhichChangeOto0OnInsertAndReplace);
不隶属于 StackOverflow