2009-06-09 9 views
3

JSpinnerにゼロ埋めをどのように追加しますか?
スピナーはJFormattedTextFieldを作成するので、フォーマットをJFormattedTextFieldコンストラクターに渡すことはできません。
既存のJFormattedTextFieldにフォーマットを設定する方法はありませんか?スピナーをJavaでゼロパディングする

は、私が欲しい:値= 37、エディタ= "0037"

UPDATE:

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

と結果がプレゼンテーションには全く変更されません:提案として、私はこれを試してみました
スピナーのデータの合理的な解決策のようです。誰もがこれをうまくやってみましたので、私自身のアプリケーションでは色あせていると確信できますか?

+0

私はこれまでこれを使用していました。それは私がどこを見るかを知っていた方法です。あなたのコードを少しテストしてみましょう... –

+0

ありがとうございます。回答が更新されました。 –

+0

うん、それは間違いなく動作する - 私はちょうど同じ編集を投稿しようとしていた。ありがとう。 – Melissa

答えて

5

あなたはこのように、自分をset the editorことができます。

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

"0000"は4桁、必要に応じてゼロパディングを指定するDecimalFormat文字列です。 "####"は4桁を指定しますが、ゼロパッドは指定しません。

DecimalFormat API documentationは、フォーマット文字列をより詳細にカバーします。

0

javadocsを参照すると、JSpinnerにはsetEditor(JComponent)メソッドがあります。これを使用してカスタムJFormattedTextFieldをカスタムフォーマットで設定します。

関連する問題