}
gc.add(GregorianCalendar.DAY_OF_MONTH, (-1) * previous);
List<CalendarSlot> list = slots.get(CalendarComponentType.DAY_MONTH);
for (CalendarSlot sl : list) {
DayOfMonthSlot dms = (DayOfMonthSlot) sl;
int day = gc.get(GregorianCalendar.DAY_OF_MONTH);
int month = gc.get(GregorianCalendar.MONTH);
int year = gc.get(GregorianCalendar.YEAR);
dms.setDate(day, month, year);
if (month == currentMonth) {
dms.setCurrentMonth(true);
dms.setSelected(day == currentDay);
} else {
dms.setCurrentMonth(false);
dms.setSelected(false);
}
gc.add(GregorianCalendar.DAY_OF_MONTH, 1);
}
repaint();
}