@@ -80,10 +80,6 @@ public class Calendar extends Container implements ActionSource {
80
80
private static final String [] MONTHS = new String []{"Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" };
81
81
private static final String [] DAYS = {"Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday" , "Friday" , "Saturday" };
82
82
private static final String [] LABELS = {"Su" , "M" , "Tu" , "W" , "Th" , "F" , "Sa" };
83
- static final long MINUTE = 1000 * 60 ;
84
- static final long HOUR = MINUTE * 60 ;
85
- static final long DAY = HOUR * 24 ;
86
- static final long WEEK = DAY * 7 ;
87
83
private EventDispatcher dispatcher = new EventDispatcher ();
88
84
private EventDispatcher dataChangedListeners = new EventDispatcher ();
89
85
private EventDispatcher monthChangedListeners = new EventDispatcher ();
@@ -1047,19 +1043,15 @@ private void setCurrentDay(long day, boolean force) {
1047
1043
cal .set (java .util .Calendar .DAY_OF_MONTH , 1 );
1048
1044
long startDate = cal .getTime ().getTime ();
1049
1045
int dow = cal .get (java .util .Calendar .DAY_OF_WEEK );
1050
- cal .setTime (new Date (cal .getTime ().getTime () - DAY ));
1051
- cal .set (java .util .Calendar .HOUR , 1 );
1052
- cal .set (java .util .Calendar .HOUR_OF_DAY , 1 );
1053
- cal .set (java .util .Calendar .MINUTE , 0 );
1054
- cal .set (java .util .Calendar .SECOND , 0 );
1055
- cal .set (java .util .Calendar .MILLISECOND , 0 );
1046
+ cal .setTime (new Date (cal .getTime ().getTime ()));
1047
+ cal .add (java .util .Calendar .DAY_OF_YEAR , -1 );
1056
1048
int lastDay = cal .get (java .util .Calendar .DAY_OF_MONTH );
1057
1049
int i = 0 ;
1058
1050
if (dow > java .util .Calendar .SUNDAY ) {
1059
1051
//last day of previous month
1060
1052
1061
1053
while (dow > java .util .Calendar .SUNDAY ) {
1062
- cal .setTime ( new Date ( cal . getTime (). getTime () - DAY ) );
1054
+ cal .add ( java . util . Calendar . DAY_OF_YEAR , - 1 );
1063
1055
dow = cal .get (java .util .Calendar .DAY_OF_WEEK );
1064
1056
}
1065
1057
int previousMonthSunday = cal .get (java .util .Calendar .DAY_OF_MONTH );
@@ -1071,8 +1063,9 @@ private void setCurrentDay(long day, boolean force) {
1071
1063
}
1072
1064
//last day of current month
1073
1065
cal .set (java .util .Calendar .MONTH , (month + 1 ) % 12 );
1074
- cal .set (java .util .Calendar .DAY_OF_MONTH , 1 );
1075
- cal .setTime (new Date (cal .getTime ().getTime () - DAY ));
1066
+ while (cal .get (java .util .Calendar .MONTH ) != month ) {
1067
+ cal .add (java .util .Calendar .DAY_OF_YEAR , -1 );
1068
+ }
1076
1069
1077
1070
lastDay = cal .get (java .util .Calendar .DAY_OF_MONTH );
1078
1071
@@ -1099,7 +1092,9 @@ private void setCurrentDay(long day, boolean force) {
1099
1092
}
1100
1093
}
1101
1094
updateButtonDayDate (components [j ], yearNew , month , j - i + 1 );
1102
- startDate += DAY ;
1095
+ cal .setTime (new Date (startDate ));
1096
+ cal .add (java .util .Calendar .DAY_OF_YEAR , 1 );
1097
+ startDate = cal .getTime ().getTime ();
1103
1098
}
1104
1099
int d = 1 ;
1105
1100
for (; j < components .length ; j ++) {
@@ -1156,16 +1151,12 @@ private void setMonth(int year, int month) {
1156
1151
cal .set (java .util .Calendar .DAY_OF_MONTH , 1 );
1157
1152
cal .set (java .util .Calendar .YEAR , year );
1158
1153
1159
- Date date = cal .getTime ();
1160
- long d = date .getTime ();
1161
-
1162
1154
// if this is past the last day of the month (e.g. going from January 31st
1163
- // to Febuary ) we need to decrement the day until the month is correct
1155
+ // to February ) we need to decrement the day until the month is correct
1164
1156
while (cal .get (java .util .Calendar .MONTH ) != month ) {
1165
- d -= DAY ;
1166
- cal .setTime (new Date (d ));
1157
+ cal .add (java .util .Calendar .DAY_OF_YEAR , -1 );
1167
1158
}
1168
- setCurrentDay (d );
1159
+ setCurrentDay (cal . getTime (). getTime () );
1169
1160
}
1170
1161
1171
1162
public void decrementMonth () {
0 commit comments