Java 如何使用JSpinner格式化初始值?
我想更改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
@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注释长度限制]