Library Spotlight

Spotlight: FullCalendar for Scheduling

Build powerful scheduling interfaces with the FullCalendar wrapper.

M. WarbleMay 14, 20262 min read
Spotlight: FullCalendar for Scheduling

FullCalendar is the most popular JavaScript calendar library, used by companies worldwide for scheduling interfaces. Oorian's wrapper brings its full power to Java developers.

Basic Calendar Setup

FcCalendar calendar = new FcCalendar();
calendar.setHeight("700px");
calendar.setInitialView(CalendarView.DAY_GRID_MONTH);

// Add events
calendar.addEvent(new FcEvent()
    .setTitle("Team Meeting")
    .setStart(LocalDateTime.of(2025, 5, 15, 10, 0))
    .setEnd(LocalDateTime.of(2025, 5, 15, 11, 0))
    .setColor("#2563eb"));

body.addElement(calendar);

Loading Events from Database

calendar.setEventSource(new FcEventSource()
{
    @Override
    public List<FcEvent> fetchEvents(LocalDateTime start, LocalDateTime end)
    {
        return eventService.findBetween(start, end)
            .stream()
            .map(this::toCalendarEvent)
            .collect(Collectors.toList());
    }
});

Handling User Interactions

// Click on a date
calendar.registerListener(this, DateClickEvent.class);

@Override
public void onEvent(DateClickEvent event)
{
    LocalDate date = event.getDate();
    openNewEventDialog(date);
}

// Click on an event
calendar.registerListener(this, EventClickEvent.class);

@Override
public void onEvent(EventClickEvent event)
{
    String eventId = event.getEventId();
    openEventDetails(eventId);
}

// Drag and drop
calendar.setEditable(true);
calendar.registerListener(this, EventDropEvent.class);

@Override
public void onEvent(EventDropEvent event)
{
    String eventId = event.getEventId();
    LocalDateTime newStart = event.getNewStart();
    eventService.updateEventTime(eventId, newStart);
}

Different Views

// Enable view switching
calendar.setHeaderToolbar(new HeaderToolbar()
    .setLeft("prev,next today")
    .setCenter("title")
    .setRight("dayGridMonth,timeGridWeek,timeGridDay"));

// Start with week view
calendar.setInitialView(CalendarView.TIME_GRID_WEEK);

Resource Scheduling

// Define resources (rooms, people, etc.)
calendar.addResource(new FcResource("room1", "Conference Room A"));
calendar.addResource(new FcResource("room2", "Conference Room B"));

// Events with resource assignment
calendar.addEvent(new FcEvent()
    .setTitle("Project Review")
    .setResourceId("room1")
    .setStart(LocalDateTime.now())
    .setEnd(LocalDateTime.now().plusHours(2)));

calendar.setInitialView(CalendarView.RESOURCE_TIMELINE_DAY);

Conclusion

FullCalendar integration provides a complete scheduling solution for Oorian applications. From simple date displays to complex resource scheduling, everything is configured through type-safe Java code.

Related Articles

Security

Security by Default: How Oorian Protects Your Applications

January 11, 2026
Announcement

Why We Built Oorian: The Story Behind the Framework

January 7, 2026
Tutorial

Getting Started with Oorian: Your First Java Web Application

December 31, 2025