📄 calendarframe.java~549~
字号:
if (day == 30) {
month++;
day = 1;
return;
} else {
day++;
return;
}
}
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
rn = true;
}
if (month == 2) {
if (rn) {
if (day == 29) {
month++;
day = 1;
} else {
day++;
}
} else {
if (day == 28) {
month++;
day = 1;
} else {
day++;
}
}
}
}
}
/*
public void setnexttime(){
//计算下一秒的时间
second++;
if (second > 59) {
minute++;
second = 0;
if (minute > 59) {
hour++;
minute = 0;
if (hour > 23) {
hour = 0;
}
}
}
//计算下一年的日期
if (second == 0 && minute == 0 && hour == 0) {
boolean runnianA = false;
if(year%4==0&&year%100!=0||year%400==0){
runnianA=true;
}
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (day == 31) {
if (month == 12) {
year++;
month = 1;
day = 1;
} else {
month++;
day = 1;
}
} else {
day++;
}
break;
case 4:
case 6:
case 9:
case 11:
if (day == 30) {
month++;
day = 1;
} else {
day++;
}
break;
case 2:
if (runnianA) {
if (day == 29) {
month++;
day = 1;
} else
day++;
} else {
if (day == 28) {
month++;
day = 1;
} else
day++;
}
break;
}
}
//当年份到达2100年时,自动跳到1901年
if(year==2100){
javax.swing.JOptionPane.showMessageDialog(this," 很抱歉,该系统时间只能显示到\n"
+ "2099年12月31日 23:59:59!!!!\n"
+ "点击“确定”按钮系统会自动恢复到\n"
+ "1901年01月01日 00:00:00!!!!");
year=1901;
}
}
*/
//创建Lunar类对象,返回农历日期
public Lunar getlunar(int y, int m, int d) {
Calendar today = Calendar.getInstance();
try {
today.setTime(chineseDateFormat.parse(y + "年" + m + "月" + d + "日"));
} catch (ParseException p) {
p.printStackTrace();
javax.swing.JOptionPane.showMessageDialog(this, "异常发生!");
}
Lunar lunar = new Lunar(today);
return lunar;
}
//设置图片时间显示及其星期、农历
public void setimageview() {
Calendar cal = Calendar.getInstance();
String week[] = {"日", "一", "二", "三", "四", "五", "六"};
//在相应的标签上设置时间日期,星期,农历,并显示
jLabel14.setIcon(ic[hour / 10]);
jLabel13.setIcon(ic[hour % 10]);
jLabel16.setIcon(ic[minute / 10]);
jLabel17.setIcon(ic[minute % 10]);
jLabel18.setIcon(ic[second / 10]);
jLabel19.setIcon(ic[second % 10]);
jLabel20.setIcon(ic[year / 1000]);
jLabel21.setIcon(ic[year % 1000 / 100]);
jLabel22.setIcon(ic[year / 10 % 10]);
jLabel23.setIcon(ic[year % 10]);
jLabel25.setIcon(ic[month / 10]);
jLabel24.setIcon(ic[month % 10]);
jLabel26.setIcon(ic[day / 10]);
jLabel27.setIcon(ic[day % 10]);
cal.set(year, month - 1, day);
jLabel28.setText(week[cal.get(Calendar.DAY_OF_WEEK) - 1]);
jLabel6.setText(getlunar(year, month, day).toString());
}
//设置单击修改按钮的事件,移动面板的焦点.
public void jButton3_actionPerformed(ActionEvent e) {
lj = 1; //设置焦点在面板上的时间的初始值为1,
jps++; //点击一次,jps标记面板到下一个面板,当超过五的时候,则从头再开始
if (jps > 5) { //焦点已到最后时返回焦点到第一个面板
jps = 0;
}
for (int i = 0; i <= 5; i++) { //设置所有边框
jp[i].setBorder(border9);
}
jp[jps].setBorder(border7); //重设焦点面板的边框
}
//设置减少按钮的单击事件
public void jButton1_actionPerformed(ActionEvent e) {
lj = 1; //设置焦点在面板上的时间的初始值为1,
if (jps == -1) {
return; //如果无焦点面板立即结束
}
if (jps == 0 && --hour < 0) {
//设置上一小时
hour = 23;
}
if (jps == 1 && --minute < 0) {
//设置上一分钟
minute = 59;
}
if (jps == 2 && --second < 0) {
//设置上一秒
second = 59;
}
if (jps == 3 && --year < 1900) {
//设置上一年
year = 2099;
}
if (jps == 4 && --month < 1) {
//设置上一个月
month = 12;
}
if (jps == 5) {
--day; //设置上一天
}
boolean rn = false;
if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 ||
month == 10 ||
month == 12) && day < 1) {
day = 31;
}
if ((month == 4 || month == 6 || month == 9 || month == 11)) {
if (day < 1) {
day = 30; //如果天数减少到小于1,设置天数为30
} else if (day > 30) {
day = 1; //如果改变后的月份天数不小于30,则设置天数为1
}
}
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
rn = true; //是否闰年
}
if ((month == 2 && rn)) {
if (day < 1) {
day = 29; //如果天数减少到小于1,设置天数为29
} else if (day > 29) {
day = 1; //如果改变后的月份天数不小于29天,则设置天数为1
}
}
if ((month == 2 && !rn)) {
if (day < 1) {
day = 28; //如果天数减少到小于1,设置天数为28
} else if (day > 28) {
day = 1; //如果改变后的月份天数不大于28天,则设置天数为1
}
}
this.setimageview(); //计算完时,分,秒,年,月,日后设置图片显示时间日期.
}
//设置增加按钮的单击触发事件
public void jButton2_actionPerformed(ActionEvent e) {
lj = 1; //设置焦点在面板上的时间的初始值为1,
if (jps == -1) {
return; //如果无焦点面板立即结束
}
if (jps == 0 && ++hour > 23) {
//设置下一小时
hour = 0;
}
if (jps == 1 && ++minute > 59) {
//设置下一分钟
minute = 0;
}
if (jps == 2 && ++second > 59) {
//设置下一秒
second = 0;
}
if (jps == 3 && ++year > 2099) {
//设置下一年
year = 1900;
}
if (jps == 4 && ++month > 12) {
//设置下个月
month = 1;
}
if (jps == 5) {
//设置下一天
++day;
}
boolean rn = false; //是否闰年
if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 ||
month == 10 || month == 12) && day > 31) {
day = 1;
}
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) {
day = 1;
}
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
rn = true;
}
if ((month == 2 && rn) && day > 29) {
day = 1;
}
if ((month == 2 && !rn) && day > 28) {
day = 1;
}
this.setimageview(); //计算完时,分,秒,年,月,日后设置图片显示时间日期.
}
}
class CalendarFrame_jButton3_actionAdapter implements ActionListener {
private CalendarFrame adaptee;
CalendarFrame_jButton3_actionAdapter(CalendarFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton3_actionPerformed(e);
}
}
class CalendarFrame_jButton2_actionAdapter implements ActionListener {
private CalendarFrame adaptee;
CalendarFrame_jButton2_actionAdapter(CalendarFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
class CalendarFrame_jButton1_actionAdapter implements ActionListener {
private CalendarFrame adaptee;
CalendarFrame_jButton1_actionAdapter(CalendarFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -