用Java填充微调器

时间:2009-06-09 19:58:41

标签: java swing jspinner zero-pad

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

我想要的是:值= 37,编辑=“0037”

更新:
我按照建议尝试了这个:

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

并且结果对微调器数据的表示没有任何改变。这似乎是一个合理的解决方案;有没有人试过这个,所以我可以肯定它只是我自己的应用程序中的一些片段?

2 个答案:

答案 0 :(得分:5)

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

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

"0000"是一个DecimalFormat字符串,指定四位数,必要时填零; "####"指定四位但不填零。

DecimalFormat API documentation更详细地介绍了格式化字符串。

答案 1 :(得分:0)

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