【发布时间】:2009-07-06 09:02:58
【问题描述】:
我需要制作自定义文本字段,该字段将根据本地格式化方式格式化数值。所以我做了一个类:
public class NumberTextField extends JFormattedTextField
{...
构造函数看起来像这样:
public NumberTextField()
{
formater=new NumberFormatter();
formater.setAllowsInvalid( false );
nf=NumberFormat.getInstance();
formater.setFormat( nf );
this.setFormatter( formater );
}
最后是:
Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Number
at java.text.DecimalFormat.format(Unknown Source)
at java.text.Format.format(Unknown Source)
at javax.swing.text.InternationalFormatter.valueToString(Unknown Source)
at javax.swing.JFormattedTextField$AbstractFormatter.install(Unknown Source)
at javax.swing.text.DefaultFormatter.install(Unknown Source)
at javax.swing.text.InternationalFormatter.install(Unknown Source)
at javax.swing.JFormattedTextField.setFormatter(Unknown Source)
at hr.ikb.nasa.gui.custom.NumberTextField.<init>(NumberTextField.java:65)
at hr.ikb.nasa.gui.custom.NumberTextField.main(NumberTextField.java:35)
由于谷歌无法提供有用的东西,我想看看你能说些什么。也许它没有任何处理价值 - 我试图输入构造函数 this.setValue(new Double(0.0d)); 或 this.setText("0"); - 它没有帮助..
【问题讨论】:
标签: java text formatting