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

时间:2010-11-24 12:14:18

标签: java swing jspinner

我想更改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());
}

但这不涉及逗号等语言环境设置。

0 个答案:

没有答案