你可以帮我看看如何在从datepicker中选择日期后自动计算年龄,以及何时焦点从datepicker更改为年龄计算的年龄textfiel?
解决方法:
FocusListener将提供帮助,例如……
JXDatePicker dp = new JXDatePicker();
dp.getEditor().addFocusListener(new FocusAdapter() {
@Override
public void focusLost(FocusEvent e) {
// Calculate age
Date date = dp.getDate();
}
});
有关详细信息,请参见How to Write a Focus Listener
年龄计算最好使用JodaTime或Java 8的新Time API完成
Java 8
Date date = // Date from date picker
LocalDate ld = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//LocalDate ld = LocalDate.of(1972, Month.MARCH, 8);
Period p = Period.between(ld, LocalDate.now());
System.out.println(p.getYears());
System.out.println(p.getMonths());
System.out.println(p.getDays());
哪个输出像……
42
11
18
乔达时间
Date date = // Date from date picker
LocalDate ld = LocalDate.fromDateFields(date);
Period p = Period.fieldDifference(ld, LocalDate.now());
System.out.println(p.getYears());
System.out.println(p.getMonths());
System.out.println(p.getDays());
标签:java,netbeans 来源: https://codeday.me/bug/20190928/1826331.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。