如图:需要判断年是否为闰年,判断选择了几月,然后判断该有多少天。
以下是addListener()中的方法。changDays=LeapYearEtc.getMonsDay(year,month); 这是我自己定义方法。
- yearField.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent e) {
- monthField.setSelectedItem("1");
- }
- });
- monthField.addItemListener(new ItemListener() {
- @Override
- public void itemStateChanged(ItemEvent e) {
- dayField.removeAllItems();//数据清空
-
- String seleYear = (String) yearField.getSelectedItem();
- String seleMon = (String) monthField.getSelectedItem();
- int year=Integer.parseInt(seleYear);
- int month = Integer.parseInt(seleMon);
-
- //调用函数根据年月判断显示月的天数。
- changDays=LeapYearEtc.getMonsDay(year,month);
- // System.out.println("seleYear="+year);
- // System.out.println("seleMon="+month);
- // System.out.println("changDays="+changDays);
- for (int i = 1; i <=changDays; i++) {
- dayField.addItem(i+"");
- }
- }
- });
复制代码- package com.heima.tools;
- public class LeapYearEtc {
- /**
- * 根据年月,返回相应的天数
- * @param parseInt
- * @param parseInt2
- * @return
- */
- public static int getMonsDay(int year, int mon) {
- int day = 31;
- if(mon==2){
- if(isLeapYear(year)){
- day=29;
- }
- else{
- day=28;
- }
- }else{
- switch (mon) {
- case 4:
- case 6:
- case 9:
- case 11: day=30;
- break;
- }
- }
- return day;
- }
- /**
- * 判断年份是否为闰年
- * @param year
- * @return
- */
- public static boolean isLeapYear(int year){
- return (year%400==0)||(year%4==0&&year%100!=0);
- }
- }
复制代码
总结:熬到现在,我也是醉了。以后坚决不熬夜
|
|