如何解决如何将文本字段设置为仅接受数字和退格?
我正在尝试创建一个 GUI 项目,我希望我的文本字段只接受数字和退格。我目前是 Java 的新手,所以我还没有很多关于它的知识。
这是我目前的代码:
AgeField = new JTextField();
AgeField.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent ke) {
String value = AgeField.getText();
int l = value.length();
if (ke.getKeyChar() >= '0' && ke.getKeyChar() <= '9' && ke.getKeyChar() == KeyEvent.VK_BACK_SPACE) {
AgeField.setEditable(true);
}
else {
AgeField.setEditable(false);
}
}
});
我当前的代码只接受数字,但是,当用户输入一个字母时,文本字段变得不可编辑,他无法输入数字或删除他输入的字母。
解决方法
您应该应用此更改:
if ((ke.getKeyChar() >= '0' && ke.getKeyChar() <= '9') || (ke.getKeyChar() == KeyEvent.VK_BACK_SPACE))
但是你也可以做更好的处理而不是 setEditable(false)
;例如:您可以删除最后一个字符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。