0

我正在编写一个 gui 代码,我想使用 JFormattedTextField 来验证我的输入是否为双精度值,但是 amountFormatter 并没有给我我输入的正确输入。所以我尝试用 ("##########") 创建一个自己的格式化程序,它给了我一个 10 位数字的数字,但我无法验证双值(因为它们通常有一个 '.' 在里面) ...

所以我的问题是:如何使用 Jformatted TextFields 简单地验证双值,或者是否有更简单的方法使用另一个 Swing 组件?

更新 谢谢你的好答案!!!但是是否有可能使用 JFormatted TextField 的解决方案?

4

2 回答 2

2

编辑

你可以从

NumberFormat format = NumberFormat.getNumberInstance();
format.setGroupingUsed(false);
format.setGroupingUsed(true);// or add the group chars to the filter
format.setMaximumIntegerDigits(10);
format.setMaximumFractionDigits(2);
format.setMinimumFractionDigits(5);
format.setRoundingMode(RoundingMode.HALF_UP);
于 2012-10-19T16:08:03.033 回答
1

我已经实现了基于 JFormattedTextField 的数字字段。

它们还支持最小值和最大值。

也许您发现它们很有用(该库是开源的):

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JRealNumberField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JDoubleField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JFloatField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLocalizedRealNumberField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLocalizedDoubleField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLocalizedFloatField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JWholeNumberField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JByteField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JIntegerField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLongField.html

http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JShortField.html

教程:

http://softsmithy.sourceforge.net/lib/docs/tutorial/swing/number/index.html

更多信息:

http://puces-blog.blogspot.ch/2012/07/news-from-software-smithy-version-02.html

主页:

http://www.softsmithy.org

下载:

http://sourceforge.net/projects/softsmithy/files/softsmithy/

马文:

<dependency>  
    <groupId>org.softsmithy.lib</groupId>  
    <artifactId>softsmithy-lib-core</artifactId>  
    <version>0.2</version>   
</dependency>   
于 2012-10-19T16:05:42.453 回答