如何在 swing GUI 中使用 BigDecimal?
我使用 BigDecimal 来表示 Java SE 应用程序中的产品价格。
我应该使用什么 swing 组件才能允许用户输入只有两位小数的数字并将其绑定到 BigDecimal 变量/对象的属性。 (在用户键入时检查)?
我一直在玩 JTextField、JFormattedTextField、NumberFormatter、MaskFormatter,但我无法解决。
这些组件是否有任何组合和配置可以做到这一点?或者我应该扩展 MaskFormatter、JTextField……?
I'm using BigDecimal to represent product prices in a Java SE application.
What swing component(s) should I use in order to allow the user to input numbers with only two decimal places and bound it to a BigDecimal variable/Object's property. (Checking that as the user types)?
I've been playing with JTextField, JFormattedTextField, NumberFormatter, MaskFormatter but I can't work it out.
Is there any combination and configuration of those components to do that? or should I extend the MaskFormatter, the JTextField, ...?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我讨厌破坏这些非常旧的线程,但我的理解是 StackOverflow 每天都在内心哭泣,答案仍未解决。
因此您可以在此处查看代码: http://www.java2s.com /Code/Java/Swing-JFC/ABigDecimalobjectcustomformatter.htm
基本上设置为 JFormattedTextField 以使用 DecimalFormat
I hate to necro these really old threads on stuff, but my understanding is StackOverflow cries inside every day an answer remains unsolved.
so you can checkout the code here: http://www.java2s.com/Code/Java/Swing-JFC/ABigDecimalobjectcustomformatter.htm
basically set-up to a JFormattedTextField to use a DecimalFormat
我不太确定你想要做什么,但有一个 BigDecimal 构造函数,它接受字符串作为参数(类似于例如
Double.parseDouble(String s)
):请参阅 JavaDoc for BigDecimal 了解更多信息。
编辑:如果检查/验证用户在文本字段中的输入,请手动检查或使用验证器(请参阅“JTextField Validator”的 Google 搜索结果)
I'm not quite sure what you are trying to do, but there is a BigDecimal constructor which takes Strings as parameter (similar to e.g.
Double.parseDouble(String s)
):See JavaDoc for BigDecimal for more information.
Edit: If checking/validating the user's input into the textfield, either check it manually or use a Validator (see Google results for "JTextField Validator")