我正在尝试创建一个带有键侦听器的JTextField,只有当文本的长度正好为4时才会启用按钮。
它正在工作但是如果达到4的长度,并且我删除了一个字符(使用退格键或删除按钮),文本长度不会更新并保持为4,直到我删除另一个字符,但是这将使它实际上是2个字符。
你可以帮助我使用代码来更新它吗?提前谢谢。
我已经尝试过这些但没有成功:
Document doc = field.getDocument();
if (doc.getLength() > 0) {
try {
doc.remove(field.getCaretPosition(), 1);
} catch (BadLocationException e1) {
}
}
和
field.setText(field.getText().substring(0, field.getText().length()));
答案 0 :(得分:0)
发现错误:
我正在调用方法来启用KeyListener
的{{1}}方法中的按钮,而不是在keyTyped
方法中执行此操作。
这个简单的改变使代码按预期工作。