黑马程序员技术交流社区
标题:
关于 GUI JComBox 的二级联动
[打印本页]
作者:
NUMONE
时间:
2015-12-26 00:47
标题:
关于 GUI JComBox 的二级联动
如图:需要判断年是否为闰年,判断选择了几月,然后判断该有多少天。
QQ拼音截图未命名.png
(969 Bytes, 下载次数: 6)
下载附件
2015-12-26 00:41 上传
以下是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);
}
}
复制代码
总结:熬到现在,我也是醉了。以后坚决不熬夜
作者:
NUMONE
时间:
2015-12-26 00:49
我不要熬夜,不熬夜,不熬夜,不熬夜,不熬夜,不熬夜,不熬夜,不熬夜,不熬夜。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2