【发布时间】:2015-11-26 07:19:49
【问题描述】:
我用这个代码限制只能输入数字,但是如果我按的第一个键是一个字母,这个代码让我输入那个字母,只能输入一次,然后当我删除它时,我不能再输入字母了,什么代码有问题吗?我只想输入数字。
amount.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if (!(Character.isDigit(c)
|| (c == KeyEvent.VK_BACK_SPACE)
|| (c == KeyEvent.VK_DELETE))
|| (amount.getText().length() >= 2)) {
e.consume();
}
}
});
【问题讨论】:
-
请考虑使用
DocumentListener(在文本字段的Document上)或使用SpinnerNumberModel的JSpinner。