如何防止用戶在使用java創建的計算器中添加另一個dot
。 我已經有我的JTextfield,我想阻止用戶輸入12.56.1而不是12.561如何防止在Java計算器中添加另一個點
0
A
回答
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
0
的有效方法,你最好的選擇是使用'的DocumentFilter。
見Text Component Features,尤其Implementing a Document Filter的更多細節和these examples
爲您的字段Document
打不使用KeyListener
文本組件,這些可導致基因突變的異常。在順序中也不能保證事件會被提出,這意味着擊鍵可能在它到達你的聽衆之前被消耗掉。
相關問題
- 1. Java計算器不止一次計算
- 2. 防止添加一個類,同時防止點擊
- 3. 計算BMI以及如何防止向上舍入浮點(Java)
- 4. 如何防止將PDF複製到另一臺計算機
- 5. 由另一個人將值分配給計數器,防止計數器增加?
- 6. 如何防止節點脫離另一個節點(外部)
- 7. 如何防止在C#計算器中的雙精度小數
- 8. 如何爲計算器添加一箇中值函數?
- 9. 在另一臺計算機上添加輔助節點?
- 10. 在mysql中添加一個計算列
- 11. 如何在Outlook中添加另一個之前計算會議參與者
- 12. 添加一個小數點按鈕到iOS計算器
- 13. Java計算器,終止
- 14. 添加一個計時器的Java Swing
- 15. 添加一個計算字段與另一個表的數據
- 16. 防止在Windows中脫離計算機
- 17. 在opencl中防止計算兩次
- 18. 防止添加鏈接到另一個鏈接
- 19. 防止另一個應用程序在VB.net中失去焦點
- 20. 如何製作一個自動添加的計算器
- 21. 如何在Java中爲一系列值添加計數器
- 22. 如何在另一個子節點內添加子節點
- 23. 如何防止將另一個通用類型的節點或原始節點添加到BST?
- 24. 如何添加一個計時器
- 25. 如何在一個android計算器中計算結果
- 26. 如何在java中添加新包到另一個包?
- 27. 如何在java編碼中添加另一個圓圈
- 28. 如何在Java中保留並添加另一個變量?
- 29. 在一個簡單的Javascript計算器中的「添加字段」
- 30. 如何在java中停止計時器
可能重複的[如何驗證JTextField?](http://stackoverflow.com/questions/2749521/how-to-validate-a-jtextfield) –