I have successfully created a notification pop up in the windows 10 action center using this answer. The issue is that, the notification stays there for 5 seconds, and then once it disappears is removed from the action center altogether. How can I make the action center keep the notification until the user dismisses it? Here is the code:
import java.awt.*;
import java.awt.TrayIcon.MessageType;
import javax.swing.JOptionPane;
public class Win10Notif {
public static void main(String[] args) throws AWTException, java.net.MalformedURLException {
if (SystemTray.isSupported()) {
Win10Notif td = new Win10Notif();
td.displayTray();
} else {
System.err.println("System tray not supported!");
}
}
public void displayTray() throws AWTException, java.net.MalformedURLException {
//Obtain only one instance of the SystemTray object
SystemTray tray = SystemTray.getSystemTray();
//If the icon is a file
Image image = Toolkit.getDefaultToolkit().createImage("icon.png");
//Alternative (if the icon is on the classpath):
//Image image = Toolkit.getToolkit().createImage(getClass().getResource("icon.png"));
TrayIcon trayIcon = new TrayIcon(image, "Tray Demo");
//Let the system resizes the image if needed
trayIcon.setImageAutoSize(true);
//Set tooltip text for the tray icon
trayIcon.setToolTip("System tray icon demo");
tray.add(trayIcon);
trayIcon.displayMessage("Hello, World", "notification demo", MessageType.INFO);
}
}
I think that's managed by Windows itself, or the native implementation of the JVM. At least, the public API doesn't offer an option to set an specific time on screen for the notifications.
Unless you need to stick to the action center, you may consider using external libraries for desktop notifications, like these:
JOptionpane.showMessageDialog()
or by building and customizing notification objects before posting them manually. Properties like color themes, icons, time on screen and actions can be customized, also stock themes and icons are provided.You can grab and try out any of these for free.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With