【发布时间】:2016-02-29 19:10:04
【问题描述】:
我用这个代码限制只能输入数字,但是如果我按的第一个键是一个字母,这个代码让我输入那个字母,只能输入一次,然后当我删除它时,我不能再输入字母了,什么代码有问题吗?我只想输入数字。
amount.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if (!(Character.isDigit(c)))
e.consume();
}
});
我加了两个右括号,结果还是一样,这里是 video
【问题讨论】:
-
或 JFormattedTextField 或 JSPinner。 Swing tutorial 有关于这些组件的更多信息。
-
嗨,感谢您的评论,我知道还有其他选择可以做到这一点,但我想了解为什么会发生这种情况。
-
在这里完美运行。除了我必须添加两个右括号。除此之外,工作很棒。你能确定这是错误代码吗?
-
我添加了两个括号,但它对我不起作用,我发布一个小视频显示问题
-
停止在文本组件上使用
KeyListener's!这不合适!如果您必须自己做,请使用DocumentFilter或设计用于完成此工作的JSpinner或JFormattedTextField