通过指定自定义格式模式,您告诉JRE忽略您的语言环境并使用该特定格式。如果你对数字的微调到小数点后两位以后是简单地说,使用则setModel()而不是setEditor(),它会为你创建一个NumberEditor:
JSpinner priceSpinner = new JSpinner();
priceSpinner.setModel(new SpinnerNumberModel(0.00, 0.00, 100.00, 0.01));
如果你绝对必须使用自己的格式模式,您可以调整该模式的十进制格式符号后创建它:
JSpinner priceSpinner = new JSpinner();
JSpinner.NumberEditor editor = new JSpinner.NumberEditor(priceSpinner, "0.00");
DecimalFormat format = editor.getFormat();
//better to use Locale.getDefault() here if your locale is already pt_BR
Locale myLocale = new Locale("pt", "BR");
format.setDecimalFormatSymbols(new DecimalFormatSymbols(myLocale));
priceSpinner.setEditor(editor);
谢谢,它的工作。我真的需要自定义模式,因为我想要“1,00”而不是“1”。 – tuler 2009-06-24 14:06:21