有没有办法只接受数字值JTextField?这有什么特别的方法吗?
我知道这个问题肯定已被问过并回答了一百万次,但我找不到一个简单的解决方案.我有一个JTextField,它只接受正整数作为输入.我需要一种方法来确保没有其他任何东西在这里输入.
我已经有一个keyListener附加到此控件.删除此侦听器要处理的其他代码,我有:
txtAnswer.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
/* Restrict input to only integers */
if (key < 96 && key > 105) e.setKeyChar('');
};
});
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在尝试使用KeyCode来检查刚按下的键是否在整数范围内.这似乎有效.但我想要做的就是在条目超出此范围时忽略该条目.该代码e.setKeyChar('')旨在处理此问题,但它不起作用.代码将编译,但它没有明显的效果.
任何人都可以告诉我,我是否走在正确的轨道上?有什么可以替代e.setKeyChar('')它来使这项工作?还是我完全朝错误的方向走?
谢谢.