将 JFormattedTextField 设置为仅采用允许的值
Setting JFormattedTextField to take only allowed values
如何创建只接受一组数字并且不允许用户输入字母或除 0123456789 之外的任何其他字符的 JFormattedTextField
?
为此,您必须创建自定义 KeyListener
以下代码将向您展示如何实现这一目标
JFormattedTextField textField = new JFormattedTextField();
textField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
char c = e.getKeyChar();
if(!(Character.isDigit(c) || c == KeyEvent.VK_BACK_SPACE || c == KeyEvent.VK_DELETE)) {
Toolkit.getDefaultToolkit().beep();
e.consume();
}
}
如何创建只接受一组数字并且不允许用户输入字母或除 0123456789 之外的任何其他字符的 JFormattedTextField
?
为此,您必须创建自定义 KeyListener 以下代码将向您展示如何实现这一目标
JFormattedTextField textField = new JFormattedTextField();
textField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
char c = e.getKeyChar();
if(!(Character.isDigit(c) || c == KeyEvent.VK_BACK_SPACE || c == KeyEvent.VK_DELETE)) {
Toolkit.getDefaultToolkit().beep();
e.consume();
}
}