簡體   English   中英

如何將文本字段設置為僅接受數字和退格鍵?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM