我想添加一個簡單的貨幣轉換工具到我的程序,但我打了障礙。有沒有簡單的方法只允許浮點數作爲Java中的JTextField的輸入。從我在線閱讀的內容來看,使用JFormattedTextField是一個很難使用的問題。我需要創建一個類來做一些過濾嗎?如何只允許在Java中的JTextField浮動
2
A
回答
2
JFormattedTextField不應該太困難。只需要將格式化程序作爲參數傳入並且應該自行處理。你可以從java API那裏得到這樣的區域設置,如下所示:
new JFormattedTextField(java.text.NumberFormat.getCurrencyInstance());
0
我同意vcetinick,因爲JFormattedTextField對格式化文本輸入很有用。
但是,如果你想驗證JTextField中輸入的值,你可能需要自己實現ActionListener:
public void actionPerformed(ActionEvent evt) {
JTextField textfield = (JTextField)evt.getSource();
String strTextValue = textfield.getText();
try {
if (strTextValue.equals("")) {
// Handle empty string
} else {
double dValue = Double.parseDouble(strTextValue);
// Handle valid value
}
} catch (Exception e) {
// Handle invalid value
}
}
2
這將是更好地使用JFormattedTextField
。
帶格式的文本字段爲開發人員指定可在文本字段中鍵入的有效字符集提供了一種方法。具體來說,JFormattedTextField類將一個格式化程序和一個對象值添加到從JTextField類繼承的功能。格式化程序將字段的值轉換爲它顯示的文本,並將文本轉換爲字段的值。 See examples.
1
您可以使用JFormattedTextField
,但它會帶來非常糟糕的用戶體驗。輸入時最好放棄不適當的字符。 DocumentFilter
提供了一個相對(Swing)乾淨的方式來做到這一點。幾年前,我寫了一個簡單的例子source和blog decription。
相關問題
- 1. 如何讓JTextField只允許編號
- 2. java中的jtextfield上只有數字和小數點允許
- 3. 允許jTextField爲空?
- 4. 如何只允許
- 5. 如何只允許Android的
- 6. 只允許輸入浮點數
- 7. 文本框只允許浮點數
- 8. Jquery的只允許浮動2位之前和點
- 9. 如何只允許0-99.99
- 10. 如何只允許數字?
- 11. 如何僅允許點擊浮動動作按鈕的圈內?
- 12. 如何只允許浮點數文本fiedl
- 13. UIScrollView:只允許滾動
- 14. DocumentFilter只允許將數字和句點(。)轉換爲JTextField?
- 15. 強制JTextField字符串值,而DocumentFilter只允許數字
- 16. 循環將不允許浮動
- 17. Integer == int允許在java中
- 18. 允許拖動只能在20px的方塊中移動
- 19. Java:鏈接JSlider和JTextfield的浮點值
- 20. Capistrano只允許'sudo su - user'允許
- 21. 如何允許在Android的PopupWindow滾動
- 22. 只允許在Python中的字符?
- 23. @RequestBody中只允許存在的字段
- 24. 如何在TextWatcher中只允許EditText中的偶數?
- 25. 允許浮點值輸入
- 26. 只允許在java中從用戶輸入中獲取數字
- 27. 只允許上傳
- 28. 只允許一次
- 29. 只允許對UITextField
- 30. 如何使DIV匹配浮動的孩子的高度(浮動列),但允許子元素突出在兩側
不相信你在網上閱讀的所有內容:-)它肯定有一個學習曲線,但從頭開始更加令人生畏...並且不會被徹底測試 – kleopatra 2012-01-05 09:49:45