【发布时间】:2011-05-22 17:18:04
【问题描述】:
我有一个字段:
jFormattedTextFieldGrossWeight = new javax.swing.JFormattedTextField();
jFormattedTextFieldGrossWeight.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#,##0.00"))));
我使用它的 setValue() 方法为其分配一个 BigDecimal 值,并允许用户使用此文本字段修改该值。
然后在lostFocus方法中,就行了:
jFormattedTextField.commitEdit();
BigDecimal gross = (BigDecimal)this.jFormattedTextFieldGrossWeight.getValue();
我得到以下异常:
java.lang.ClassCastException: java.lang.Long cannot be cast to java.math.BigDecimal
有什么问题吗?如何修改我的代码以消除此错误?
【问题讨论】:
-
要在
JTable上下文中使用,请参阅DecEditor,它允许BigDecimal在DefaultCellEditor中使用。
标签: java swing netbeans bigdecimal jformattedtextfield