@Override public void eventMove(MoveEvent event) { MyEvent calendarEvent = (MyEvent) event.getCalendarEvent(); Calendar cal = event.getComponent(); cal.removeEvent(calendarEvent); Date oldStart = calendarEvent.getStart(); Date oldEnd = calendarEvent.getEnd(); long duration = oldEnd.getTime() - oldStart.getTime(); Date newStart = event.getNewStart(); calendarEvent.setStart(newStart); Date newEnd = new Date(newStart.getTime() + duration); calendarEvent.setEnd(newEnd); cal.addEvent(calendarEvent); }