2009-06-09 100 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及其自定義格式。