Introduzione a CalendarFX, un calendario per JavaFX

Mattepuffo's logo
Introduzione a CalendarFX, un calendario per JavaFX

Introduzione a CalendarFX, un calendario per JavaFX

Mi sono imbattuto in CalendarFX per caso, e ne sono rimasto entusiasta!

In pratica è un componente per JavaFX che funge da calendario.

Potete anche integrarlo con Google Calendar (cosa che prima o poi farò), ed ha tantissime opzioni.

Noi vedremo il basico per farlo funzionare; partiamo da Maven:

    <repositories>
        <repository>
            <id>jcenter</id>
            <url>http://jcenter.bintray.com</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>com.calendarfx</groupId>
            <artifactId>view</artifactId>
            <version>8.4.2</version>
        </dependency>
    </dependencies>

Questo invece il codice Java:

import com.calendarfx.model.Calendar;
import com.calendarfx.model.CalendarSource;
import com.calendarfx.view.CalendarView;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.stage.Stage;

import java.time.LocalDate;
import java.time.LocalTime;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {

        CalendarView calendarView = new CalendarView();
        Calendar calendarioUno = new Calendar("Calendario UNO");
        calendarioUno.setStyle(Calendar.Style.STYLE7);

        Calendar calendarioDue = new Calendar("Calendario DUE");
        calendarioDue.setStyle(Calendar.Style.STYLE2);

        CalendarSource myCalendarSource = new CalendarSource("Test CalendarFX");
        myCalendarSource.getCalendars().addAll(calendarioUno, calendarioDue);
        calendarView.getCalendarSources().addAll(myCalendarSource);
        calendarView.setRequestedTime(LocalTime.now());

        Platform.runLater(() -> {
            calendarView.setToday(LocalDate.now());
            calendarView.setTime(LocalTime.now());
        });

        Scene scene = new Scene(calendarView);
        primaryStage.setTitle("Calendar");
        primaryStage.setScene(scene);
        primaryStage.setWidth(1300);
        primaryStage.setHeight(1000);
        primaryStage.centerOnScreen();
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

}

Con questo codice, eventuali eventi creati li perdete alla chiusura.

Ovviamente non è incluso uno storage automatico; dovete essere a voi implementarlo.

Ed ecco perchè la sua integrazione con Google Calendar può essere interessante.

Vi consiglio di dargli uno sguardo.

Enjoy!


Condividi

Commentami!