如何在Java中将值(int)限制为jtextfield
?如果没有Jbutton
或类似的东西,我想在文本字段的输入中执行此操作。我尝试过使用evt.getkeychar
,但这只给了我一个字符的值。
答案 0 :(得分:-1)
您可以将关键侦听器添加到JTextField
并覆盖基于密钥释放的方法。在该方法中,检查文本中是否存在非数字字符,如果存在,则将其删除。
public class LimitInputValue {
public static void main(String[] args) {
JFrame jframe = new JFrame();
final JTextField jTextField = new JTextField();
jframe.add(jTextField);
jframe.pack();
jframe.setVisible(true);
jTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
String value = jTextField.getText();
if (value == null || value.isEmpty()) return;
String newValue = "";
for (int i = 0; i < value.length(); ++i) {
if (Character.isDigit(value.charAt(i))) {
newValue += value.charAt(i);
}
}
jTextField.setText(newValue);
}
});
}
}