日数自动更新

本文介绍了一个日期选择器的实现方法,通过监听年份和月份的选择,动态更新日期显示,确保了不同月份的日期显示符合实际情况。

Days will change after selecting Year , Month.


XYear.addItemListener(new java.awt.event.ItemListener() { 
     public void itemStateChanged(ItemEvent ie){                                                                                     //set Listener to Day after selecting Year, Feb 
                String sy=XYear.getSelectedItem().toString(); 
                        if (Integer.parseInt(sy)%4==0 && XMonth.getSelectedItem().toString()=="2") { 
                            XDay.addItem("1"); XDay.addItem("2");XDay.addItem("3");XDay.addItem("4");XDay.addItem("5");XDay.addItem("6");XDay.addItem("7");XDay.addItem("8");XDay.addItem("9");XDay.addItem("10");XDay.addItem("11"); XDay.addItem("12");XDay.addItem("13");XDay.addItem("14");XDay.addItem("15");XDay.addItem("16");XDay.addItem("17");XDay.addItem("18");XDay.addItem("19");XDay.addItem("20");XDay.addItem("21"); XDay.addItem("22");XDay.addItem("23");XDay.addItem("24");XDay.addItem("25");XDay.addItem("26");XDay.addItem("27");XDay.addItem("28");XDay.addItem("29"); 
                         } 
                         else if (Integer.parseInt(sy)%4!=0 && XMonth.getSelectedItem().toString()=="2") { 
                             XDay.addItem("1"); XDay.addItem("2");XDay.addItem("3");XDay.addItem("4");XDay.addItem("5");XDay.addItem("6");XDay.addItem("7");XDay.addItem("8");XDay.addItem("9");XDay.addItem("10");XDay.addItem("11"); XDay.addItem("12");XDay.addItem("13");XDay.addItem("14");XDay.addItem("15");XDay.addItem("16");XDay.addItem("17");XDay.addItem("18");XDay.addItem("19");XDay.addItem("20");XDay.addItem("21"); XDay.addItem("22");XDay.addItem("23");XDay.addItem("24");XDay.addItem("25");XDay.addItem("26");XDay.addItem("27");XDay.addItem("28");                                     
                         } 
                               } 
                }); 
            
            XMonth.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" }));//set default value to Month
            mm=cal.get(Calendar.MONTH); 
            ++mm; 
            XMonth.setSelectedItem(String.valueOf(mm));                                                                                                                        //set current Month as default value 
            XMonth.addItemListener(new java.awt.event.ItemListener() {                                                                                        //set Listener to Day after selecting Year, Month except for Feb 
            public void itemStateChanged(ItemEvent ie){ 
                            String sm=XMonth.getSelectedItem().toString(); 
                    if (sm=="1" || sm=="3" || sm=="5" || sm=="7" || sm=="8" || sm=="10" || sm=="12"){                        //month of 31days 
                            XDay.removeAllItems(); 
                            XDay.addItem("1"); XDay.addItem("2");XDay.addItem("3");XDay.addItem("4");XDay.addItem("5");XDay.addItem("6");XDay.addItem("7");XDay.addItem("8");XDay.addItem("9");XDay.addItem("10");XDay.addItem("11"); XDay.addItem("12");XDay.addItem("13");XDay.addItem("14");XDay.addItem("15");XDay.addItem("16");XDay.addItem("17");XDay.addItem("18");XDay.addItem("19");XDay.addItem("20");XDay.addItem("21"); XDay.addItem("22");XDay.addItem("23");XDay.addItem("24");XDay.addItem("25");XDay.addItem("26");XDay.addItem("27");XDay.addItem("28");XDay.addItem("29");XDay.addItem("30");XDay.addItem("31"); 
                    } 
                    else if (sm=="4" || sm=="6" || sm=="9" || sm=="11"){                                                                                //month of 30days 
                       XDay.removeAllItems(); 
                       XDay.addItem("1"); XDay.addItem("2");XDay.addItem("3");XDay.addItem("4");XDay.addItem("5");XDay.addItem("6");XDay.addItem("7");XDay.addItem("8");XDay.addItem("9");XDay.addItem("10");XDay.addItem("11"); XDay.addItem("12");XDay.addItem("13");XDay.addItem("14");XDay.addItem("15");XDay.addItem("16");XDay.addItem("17");XDay.addItem("18");XDay.addItem("19");XDay.addItem("20");XDay.addItem("21"); XDay.addItem("22");XDay.addItem("23");XDay.addItem("24");XDay.addItem("25");XDay.addItem("26");XDay.addItem("27");XDay.addItem("28");XDay.addItem("29");XDay.addItem("30"); 
                    } 
                                        
                    else if (sm=="2"){                                                                                                                                                        //Feb 
                            XDay.removeAllItems(); 
                            String sy=XYear.getSelectedItem().toString(); 
                            if (Integer.parseInt(sy)%4==0) { 
                               XDay.addItem("1"); XDay.addItem("2");XDay.addItem("3");XDay.addItem("4");XDay.addItem("5");XDay.addItem("6");XDay.addItem("7");XDay.addItem("8");XDay.addItem("9");XDay.addItem("10");XDay.addItem("11"); XDay.addItem("12");XDay.addItem("13");XDay.addItem("14");XDay.addItem("15");XDay.addItem("16");XDay.addItem("17");XDay.addItem("18");XDay.addItem("19");XDay.addItem("20");XDay.addItem("21"); XDay.addItem("22");XDay.addItem("23");XDay.addItem("24");XDay.addItem("25");XDay.addItem("26");XDay.addItem("27");XDay.addItem("28");XDay.addItem("29"); 
                            } 
                            else { 
                                XDay.addItem("1"); XDay.addItem("2");XDay.addItem("3");XDay.addItem("4");XDay.addItem("5");XDay.addItem("6");XDay.addItem("7");XDay.addItem("8");XDay.addItem("9");XDay.addItem("10");XDay.addItem("11"); XDay.addItem("12");XDay.addItem("13");XDay.addItem("14");XDay.addItem("15");XDay.addItem("16");XDay.addItem("17");XDay.addItem("18");XDay.addItem("19");XDay.addItem("20");XDay.addItem("21"); XDay.addItem("22");XDay.addItem("23");XDay.addItem("24");XDay.addItem("25");XDay.addItem("26");XDay.addItem("27");XDay.addItem("28");                                     
                            } 
                    } 
                     } 
                    }); 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值