我有一个JTextField供用户输入的序列号。序列号的形式是这样的,它包含任何字母I,O或S的,因为它们类似于1,0和5。什么是正确的方法让这个如果用户键入的字母之一,它输入数字呢?结果 例如用户类型AaOo0,并进入了JTextField为Aa000结果 为了澄清,这应该发生在用户键入每一个字符,而不是之后他们已经完成打字,离开了文本字段。

有帮助吗?

解决方案

使用一个的DocumentFilter

是这样的:

AbstractDocument doc = (AbstractDocument)jtextField.getDocument();
doc.setDocumentFilter(yourImplementationOfDocumentFilterWhichChangeOto0OnInsertAndReplace);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top