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.
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.
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();
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));
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));
The video below showcases the TrayTester.jar app
which you can get here.
Click the image below to watch the YouTube video.