2014-03-13 55 views
0

如何防止用戶在使用java創建的計算器中添加另一個dot。 我已經有我的JTextfield,我想阻止用戶輸入12.56.1而不是12.561如何防止在Java計算器中添加另一個點

+2

可能重複的[如何驗證JTextField?](http://stackoverflow.com/questions/2749521/how-to-validate-a-jtextfield) –

回答

0

而不是獲得「。」的計數。每一次,這裏是如果你想要做一個文本組件進行實時驗證這樣

  textField.addKeyListener(new KeyListener() { 
      int i=0; 
      public void keyTyped(KeyEvent e) { 

         if(e.getKeyChar()=='.'){ 
          if(i==1) 
           e.consume(); 
          else 
           i=1; 
         } 
      } 

      public void keyPressed(KeyEvent keyEvent) {} 

      public void keyReleased(KeyEvent keyEvent) {} 
     }); 
+0

不要在文本組件上使用KeyListener,這些可能會導致突變異常,因爲你與字段'文檔'戰鬥。在順序中也不能保證事件會被提出,這意味着擊鍵可能在它到達你的監聽器之前被消耗,或者擊鍵可能已經被應用到了字段文檔,從而使其成爲冗餘。 – MadProgrammer

相關問題