質問
私はDD / MM / YYY値を反復するJSpinner
を拡張する次のクラスを作成しています。
public class DateSpinner extends JSpinner{
Calendar calendar = new GregorianCalendar();
public DateSpinner(){
super();
calendar.add(Calendar.DAY_OF_YEAR, 1);
Date now = calendar.getTime();
calendar.add(Calendar.DAY_OF_YEAR, -2);
Date startDate = calendar.getTime();
calendar.add(Calendar.YEAR, 100);
Date endDate = calendar.getTime();
SpinnerDateModel dateModel = new SpinnerDateModel
( now , startDate , endDate , Calendar.DAY_OF_MONTH );
setModel(dateModel);
JFormattedTextField tf =
((JSpinner.DefaultEditor)getEditor()).getTextField();
DefaultFormatterFactory factory =
(DefaultFormatterFactory)tf.getFormatterFactory();
DateFormatter formatter = (DateFormatter)factory.getDefaultFormatter();
// Change the date format to only show the hours
formatter.setFormat(new SimpleDateFormat("dd/MM/yyyy"));
}
}
私の問題は、私が使用してその値を設定すると、
であります Date today = new Date();
spinner.setValue(today);
私は一週間の時間と日を含む日付を取得します。私はスピナーをタッチすると、それは私が設定されているフォーマットに合わせてフォーマットします。どのように私は最初に私が示したことにしたい形式を得ることができますか?
解決
を使用する組み込みの次のようなエディタ、
spinner.setEditor(new JSpinner.DateEditor(spinner, "dd/MM/yyyy"));
他のヒント
また、サイドノートとして - あなたはカレンダー、日付と時刻を扱う時はいつでも私はジョダ時間を使用して検討しますのます。
所属していません StackOverflow