3

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

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

更新:
提案どおりにこれを試しました:

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

結果は、スピナーのデータの表示にまったく変更がありません。それは合理的な解決策のようです。誰かがこれを成功させたので、自分のアプリケーションでは不安定なものだと確信できますか?

4

2 に答える 2

5

次のように、エディタを自分で設定できます。

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

"0000"DecimalFormat必要に応じてゼロが埋め込まれた 4 桁の文字列です。"####"4 桁を指定しますが、ゼロ埋めはしません。

DecimalFormatAPI ドキュメントでは、フォーマット文字列について詳しく説明しています。

于 2009-06-09T20:06:03.243 に答える
0

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

于 2009-06-09T20:06:16.410 に答える