如何向JSpinner
添加零填充?
由于微调器自己创建JFormattedTextField
,我不能只将格式传递给JFormattedTextField构造函数。
有没有办法在现有JFormattedTextField
上设置格式?
我想要的是:值= 37,编辑=“0037”
更新:
我按照建议尝试了这个:
JSpinner mySpinner = new JSpinner();
mySpinner.setEditor(
new JSpinner.NumberEditor(mySpinner, "####"));
并且结果对微调器数据的表示没有任何改变。这似乎是一个合理的解决方案;有没有人试过这个,所以我可以肯定它只是我自己的应用程序中的一些片段?
答案 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及其自定义格式。