0

SpinnerDateModelを使用するDateSpinnerがあり、スピナーの増分を月の日にする必要があります。これは私がそれを初期化する方法です:

new JSpinner(new SpinnerDateModel(new Date(), null, null, Calendar.DATE));

ただし、日ごとに増加することはありません。特定のルックアンドフィール(Windows 7ではシステムルックアンドフィールを使用しています)は、SpinnerDateModelのそのカレンダーフィールドを無視し、選択された日付フィールドのみを使用することを読みました。誰かがこれを行わない良いルックアンドフィールを提案できますか?または、日付を日ごとにインクリメントするスピナーを実装する別の方法を提案しますか?スピナーなどの日フィールド以外の選択を無効にすることはできますか?

4

2 に答える 2

0

もう少し調べた後、Michael Dunn の提案に従って、SpinnerDateModel のサブクラスを作成し、setCalendarField() 関数をオーバーライドして何もしないことにしました。

http://www.coderanch.com/t/345684/GUI/java/JSpinner-DateEditor-Set-default-focus

于 2011-04-08T17:40:35.137 に答える
0
JSpinner time = new JSpinner(new SpinnerDateModel());
JSpinner.DateEditor dateEditor = new JSpinner.DateEditor(time, "dd:MM:yy");
time.setEditor(dateEditor);

私にとってはうまくいきます。

問題がある場合は、 SSCCEを投稿してください。

于 2011-04-08T17:35:38.167 に答える