在java图形用户界面中时常会遇到一些限制性的输入条件.比如在一个文本框中只能接收数字我们如何实现呢?
其实我们可以通过添加KeyListener来实现.具体实现如下:
Toolkit toolkit = Toolkit.getDefaultToolkit();
JTextField field = new JTextField();
field.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
char keyChar = e.getKeyChar();
if (((keyChar >= '0' && keyChar <= '9') // 限制只能输入数字的条件
// || (keyChar == '-' 可以输入"-"的条件
// || (keyChar == '.' && getText().indexOf(".") == -1) //可以输入小数点的条件
|| (keyChar == '/b')) //接受退格键的条件
) {
return;
}
toolkit.beep();//当输入的字符在我们的现在之外时,发出声音提示
e.consume(); // 阻止在限制字符以外的字符出现在文本框中
}
});