2009-06-09 96 views
3

如何将零填充添加到JSpinner
由于微调器本身创建了JFormattedTextField,我不能只将格式传递给JFormattedTextField构造函数。
没有办法在现有的JFormattedTextField上设置格式?Java中的微调零填充

我想要什么:价值= 37,编辑= “0037”

UPDATE:
我曾经尝试这样做的建议:

JSpinner mySpinner = new JSpinner(); 
mySpinner.setEditor( 
    new JSpinner.NumberEditor(mySpinner, "####")); 

,其结果是没有任何改变的演示的微调数据。这似乎是一个合理的解决方案;有没有人试过这个成功的,所以我可以肯定它只是在我自己的应用程序中片状的东西?

+0

我以前用过它;这就是我知道在哪里看。让我用你的代码做一个小测试... – 2009-06-16 20:09:46

回答

5

您可以set the editor自己,就像这样:

// minimum of four digits 
mySpinner.setEditor(new JSpinner.NumberEditor(mySpinner, "0000")); 

"0000"DecimalFormat字符串,指定四位数字,零填充的都是必要的; "####"指定四位数字,但不填零。

DecimalFormat API documentation涵盖了更详细的格式化字符串。

0

参照javadocs,JSpinner有一个setEditor(JComponent)方法。使用它来设置自定义的JFormattedTextField及其自定义格式。