[英]How do I set a textfield to accept numbers and backspace only?
我正在嘗試創建一個 GUI 項目,我希望我的文本字段只接受數字和退格鍵。 我目前是 Java 的新手,所以我對它還不太了解。
到目前為止,這是我的代碼:
AgeField = new JTextField();
AgeField.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent ke) {
String value = AgeField.getText();
int l = value.length();
if (ke.getKeyChar() >= '0' && ke.getKeyChar() <= '9' && ke.getKeyChar() == KeyEvent.VK_BACK_SPACE) {
AgeField.setEditable(true);
}
else {
AgeField.setEditable(false);
}
}
});
我當前的代碼只接受數字,但是,當用戶輸入一個字母時,文本字段變得不可編輯,他不能輸入數字或刪除他輸入的字母。
您應該應用此更改:
if ((ke.getKeyChar() >= '0' && ke.getKeyChar() <= '9') || (ke.getKeyChar() == KeyEvent.VK_BACK_SPACE))
但你也可以做更好的過程而不是setEditable(false)
; 例如:您可以刪除最后一個字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.