我有一个用于选择出生日期的 JDateChooser。它以空日期值开始,让用户使用文本字段或打开 Jcalendar 的 jdatechooser 按钮选择出生日期。
我想要做的是将 JCalendar 的日期设置为从当前日期起 -10 年。默认情况下,JCalendar 将日期设置为当年。我试过这段代码,但它不起作用——它仍然将日期设置为当前日期。任何帮助都可以。谢谢!
dcBirthDateNew = new JDateChooser();
dcBirthDateNew.setDateFormatString("MM/dd/yyyy");
dcBirthDateNew.getDateEditor().getUiComponent().addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent evt) {
if (evt.getSource() instanceof JTextComponent) {
final JTextComponent textComponent=((JTextComponent)evt.getSource());
SwingUtilities.invokeLater(new Runnable(){
public void run() {
textComponent.selectAll();
}});
}
}
});
JCalendar calx = dcBirthDateNew.getJCalendar();
calx.setCalendar(getPrevDate());
private static Calendar getPrevDate() {
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date myDate = new Date(System.currentTimeMillis());
System.out.println("result is "+ dateFormat.format(myDate));
Calendar cal = Calendar.getInstance();
cal.setTime(myDate);
cal.add(Calendar.YEAR, -10);
System.out.println(dateFormat.format(cal.getTime()));
return cal;
}