/TrayNotification

A tray notification class in JavaFX that allows you to call beautiful looking notifications on desktop computers.

Primary LanguageJavaMIT LicenseMIT

Tray Notification

Tray Notification is a library for JavaFX that adds easy-to-use tray notifications for desktop computers.

There are 5 included notifications and 3 included animations, but you're able to also add your own.


Creating a new tray notification

To use, create an instance of TrayNotification and define its title, message and notification.

        String title = "Congratulations sir";
        String message = "You've successfully created your first Tray Notification";
        Notification notification = Notifications.SUCCESS;
        
        TrayNotification tray = new TrayNotification();
        tray.setTitle(title);
        tray.setMessage(message);
        tray.setNotification(notification);
        tray.showAndWait();

Alternatively you can initialize the tray notification with its non-default constructors.

        TrayNotification tray = new TrayNotification(title, message, notification);
        tray.showAndWait();



The default animation is a sliding animation.

When shownAndWait() is called, the tray notification will show and wait until it is either dismissed with the close button or programmatically through your code.






Using different animations and notifications

You can also individually customize notifications and animations.
Using a notice notification with a fading animation, for example:

        String title = "Download quota reached";
        String message = "Your download quota has been reached. Panic.";
        Notification notification = Notifications.NOTICE;
        
        tray.setTitle(title);
        tray.setMessage(message);
        tray.setNotification(notification);
        tray.setAnimation(Animations.FADE);
        tray.showAndWait();





Creating a custom tray notification


You're also able to set a custom image or rectangle fill. You can use showAndDismiss, which will show both the show and dismiss animation. You're also able to control the delay before dismissal following the show animation. This is useful for when you want a notification to appear for a certain amount of time before closing.

        Image whatsAppImg = new Image("https://cdn4.iconfinder.com/data/icons/iconsimple-logotypes/512/whatsapp-128.png");
        
        tray.setTitle("New WhatsApp Message");
        tray.setMessage("Github - I like your new notification release. Nice one.");
        tray.setRectangleFill(Paint.valueOf("#2A9A84"));
        tray.setAnimation(Animations.POPUP);
        tray.setImage(whatsAppImg);
        tray.showAndDismiss(Duration.seconds(2));



Setting a new tray overload methods

A shorthand to changing the design of a tray animation is to use the setTray's overloaded methods.

        tray.setTray("Title", "Message", Notifications.ERROR);
        tray.showAndWait();
        
        //OR
        tray.setTray("Title", "Message", whatsAppImg, Paint.valueOf("#2A9A84") , Animations.POPUP);
        tray.showAndDismiss(Duration.seconds(10));

YouTube video demonstration

The video below showcases the TrayTester.jar app which you can get here.

Click the image below to watch the YouTube video.