Java 如何使用JSpinner格式化初始值?

Java 如何使用JSpinner格式化初始值?,java,swing,jspinner,Java,Swing,Jspinner,我想更改JSpinner的默认十进制格式,指定小数位数,但保留特定于语言环境的其他格式 但如果我这样做 @Test public void fails() { JSpinner spinner = new JSpinner(); NumberEditor editor = new JSpinner.NumberEditor(spinner); editor.getFormat().setMinimumFractionDigits(3); spinner.setEd

我想更改JSpinner的默认十进制格式,指定小数位数,但保留特定于语言环境的其他格式

但如果我这样做

@Test public void fails() {
    JSpinner spinner = new JSpinner();
    NumberEditor editor = new JSpinner.NumberEditor(spinner);
    editor.getFormat().setMinimumFractionDigits(3);
    spinner.setEditor(editor);
    assertEquals(0, spinner.getValue());
    assertEquals("0.000", ((NumberEditor) spinner.getEditor()).getTextField().getText());
        // FAIL HERE with "0"

    spinner.setValue(0.01);
    assertEquals("0.010", ((NumberEditor) spinner.getEditor()).getTextField().getText());
}
正如我在Sun示例代码中发现的,初始格式化值为“0”,因为尚未检测到对格式的更改

我可以明确地设置图片的格式

@Test public void delMe() {
    JSpinner spinner = new JSpinner();
    spinner.setEditor(new JSpinner.NumberEditor(spinner, "0.000"));
    assertEquals(0, spinner.getValue());
    assertEquals("0.000", ((NumberEditor) spinner.getEditor()).getTextField().getText());
}

但这不尊重逗号等的区域设置。

什么,甚至没有对问题进行投票,只有11个视图?Duncan,这缺少了Java标记,因此很可能没有得到应有的关注。现在我将添加java标记。谢谢[grrr注释长度限制]