2

我能够创建只接受浮点值的 JFormatted TextField,但我无法获取该值.. 我正在声明它..

stopAppFormattedTextField = new javax.swing.JFormattedTextField(new DecimalFormat("#.00"));

并使用以下方法获取值:

double stop=(Double)stopAppFormattedTextField.getValue();

但是上面的语句抛出了以下异常:

“线程中的异常“AWT-EventQueue-0”java.lang.ClassCastException:java.lang.Long 无法转换为 java.lang.Double”

我应该怎么做才能获取浮点值?-提前致谢

4

2 回答 2

4

Long从格式化程序中得到 s,但你想要 doubles。你可以这样做:

Number number = (Number)stopAppFormattedTextField.getValue();
double stop = number.doubleValue();
于 2010-09-21T10:36:45.087 回答
4

初始化后将此添加到您的代码中:

stopAppFormattedTextField.setValue(0d);

getValue 将自动返回 double

于 2010-09-21T10:38:46.920 回答