Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTextField渲染数字分组(作为装饰)_Java_Swing_Formatting_Rendering_Jtextfield - Fatal编程技术网

Java JTextField渲染数字分组(作为装饰)

Java JTextField渲染数字分组(作为装饰),java,swing,formatting,rendering,jtextfield,Java,Swing,Formatting,Rendering,Jtextfield,我希望我用来输入数字的JTextField将数字分组(例如,使用分隔符char:1000000或有一点间隙1000000) 我知道这可以通过使用JFormattedTextField和NumberFormat来实现 我不喜欢格式化程序方法,因为它实际上通过插入字符来修改文本。我希望有一个专门的渲染器/装饰器,只定制外观 (这样做的一个优点是,格式在键入文本时就已经应用,而不仅仅是在提交之后) 这能做到吗?通过重写JTextField的一个绘制方法?哪一个?或者通过使用不同的Swing文本组件?请

我希望我用来输入数字的JTextField将数字分组(例如,使用分隔符char:1000000或有一点间隙1000000)

我知道这可以通过使用JFormattedTextFieldNumberFormat来实现

我不喜欢格式化程序方法,因为它实际上通过插入字符来修改文本。我希望有一个专门的渲染器/装饰器,只定制外观

(这样做的一个优点是,格式在键入文本时就已经应用,而不仅仅是在提交之后)


这能做到吗?通过重写JTextField的一个绘制方法?哪一个?或者通过使用不同的Swing文本组件?

请说明原因,
在键入文本时,格式已经应用,而不仅仅是在提交之后。
==格式不正确请参见我的编辑。我澄清了一下:我希望它立即应用,但JFormattedTextField不会出现这种情况。这里有一些关于如何模拟ATM的尝试(JTextField/JFormattedTextField),您需要搜索/自定义编辑器或使用
JSpinner
,如图所示。它将根据区域设置自动将
9000
呈现为
9000
。@AndrewThompson:对于JSpinner,问题完全相同(它实际上在内部使用JFormattedTextField)