在 Java 中对微调器进行零填充
如何向 JSpinner
添加零填充?
由于微调器会自行创建 JFormattedTextField
,因此我不能仅将格式传递到 JFormattedTextField 构造函数中。
没有办法在现有的 JFormattedTextField 上设置格式吗?
我想要的:值= 37,编辑器=“0037”
更新:
我已按照建议进行了尝试:
JSpinner mySpinner = new JSpinner();
mySpinner.setEditor(
new JSpinner.NumberEditor(mySpinner, "####"));
结果对旋转器数据的呈现完全没有变化。 这似乎是一个合理的解决方案; 有没有人成功地尝试过这个,所以我可以确定这只是我自己的应用程序中的一些问题?
How do you add zero padding to a JSpinner
?
Since the spinner creates the JFormattedTextField
itself, I can't just pass the format into the JFormattedTextField constructor.
Isn't there a way to set the formatting on an existing JFormattedTextField
?
What I want: value = 37, editor = "0037"
UPDATE:
I have tried this as suggested:
JSpinner mySpinner = new JSpinner();
mySpinner.setEditor(
new JSpinner.NumberEditor(mySpinner, "####"));
and the result is no change at all to the presentation of the spinner's data. It seems like a reasonable solution; has anyone tried this successfully so I can be sure it's just something flaky in my own application?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
参考javadocs,JSpinner有一个 setEditor(JComponent) 方法。 使用它来设置自定义 JFormattedTextField 及其自定义格式。
Referring to the javadocs, JSpinner has a setEditor(JComponent) method. Use that to set your custom JFormattedTextField, with its custom Format.
您可以 自己设置编辑器,如下所示:
“0000”
是一个DecimalFormat
指定四位数字的字符串,必要时用零填充;"####"
指定四位数字,但不补零。DecimalFormat
API 文档< /a> 更详细地介绍了格式化字符串。You can set the editor yourself, like this:
"0000"
is aDecimalFormat
string specifying four digits, zero-padded as necessary;"####"
specifies four digits but does not zero-pad.The
DecimalFormat
API documentation covers formatting strings in more detail.