Library Spotlight

Spotlight: FullCalendar for Scheduling

Build powerful scheduling interfaces with the FullCalendar wrapper.

M. WarbleJune 11, 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.

Share this article

Related Articles

Library Spotlight

Spotlight: Chart.js for Beautiful Data Visualization

January 27, 2026
Deep Dive

Logging and Error Handling in Oorian: A Complete Guide

February 24, 2026
Architecture

Event Handling in Oorian

February 19, 2026