我想添加一个简单的货币转换工具到我的程序,但我打了障碍。有没有简单的方法只允许浮点数作为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. 只允许输入浮点数
- 3. Jquery的只允许浮动2位之前和点
- 4. 如何只允许数字?
- 5. 如何仅允许点击浮动动作按钮的圈内?
- 6. 如何只允许浮点数文本fiedl
- 7. UIScrollView:只允许滚动
- 8. DocumentFilter只允许将数字和句点(。)转换为JTextField?
- 9. Integer == int允许在java中
- 10. 允许拖动只能在20px的方块中移动
- 11. @RequestBody中只允许存在的字段
- 12. 如何允许在Android的PopupWindow滚动
- 13. 允许浮点值输入
- 14. 只允许在java中从用户输入中获取数字
- 15. 只允许带退格和左右箭头的浮点数
- 16. 只允许对UITextField
- 17. 只允许一次
- 18. 只允许上传
- 19. 如何只允许输入字母?
- 20. 在CrudRepository中限制创建动作,只允许编辑动作
- 21. 如何允许不允许的密钥字符。在Codeigniter中?
- 22. 在KeyDown C中只允许逗号#
- 23. 只允许在CXGrid中使用负数
- 24. 只允许在棋盘中移动的白色棋子
- 25. uiscrollview只允许滚动回来
- 26. 如何允许宽度=“自动”,在
- 27. 如何只允许文本输入的数字,但允许JavaScript的命令?
- 28. 如何阻止我的recyclerview允许向左滑动,并且只允许右滑动?
- 29. 如何在datagridview中只允许2个十进制值?
- 30. 如何在Rails中只允许POST请求?
不相信你在网上阅读的所有内容:-)它肯定有一个学习曲线,但从头开始更加令人生畏...并且不会被彻底测试 – kleopatra 2012-01-05 09:49:45