В основном я вызываю метод SystemNotificationUtil.notification() с TrayIcon.MessageType.NONE
Код: Выделить всё
@Slf4j
public class SystemNotificationUtil {
private static SystemTray tray;
private static Image image;
private static TrayIcon trayIcon;
static {
if (SystemTray.isSupported()) {
tray = SystemTray.getSystemTray();
image = Toolkit.getDefaultToolkit().createImage("favicon.ico");
trayIcon = new TrayIcon(image, "Tray");
trayIcon.setImageAutoSize(true);
trayIcon.setToolTip("System tray demo");
try {
tray.add(trayIcon);
} catch (AWTException e) {
log.error("SystemNotificationUtil", e);
}
} else log.info("SystemNotificationUtil: System tray not supported");
}
public static void notification(String title, String message, TrayIcon.MessageType messageType) {
trayIcon.displayMessage(title, message, messageType);
}


Проблемы:
- Оповещение исходит от бинарной платформы OpenJDK, а не от запускаемого приложения
- Значок приложения не отображается в окне приложения
- Вместо значка в трее пустое место
Если от этого нельзя как-то избавиться, может быть, вы сможете что-нибудь порекомендовать другая библиотека?
Для контекста, об исполняемом файле: с помощью launch4j-maven-plugin я упаковываю свой jar в exe, зависимости и JDK просто передаются в цельРЕДАКТИРОВАТЬ: Может быть, кто-нибудь знает, как это использовать?
Код: Выделить всё
de.mobanisto
toast4j
0.2.0
Из краткого ознакомительного файла я понял, что это зависимость для доступа к «новому» Windows API для отображения уведомлений, но я все еще не мог понять, как его использовать, возможно, это решит мои проблемы
Подробнее здесь: https://stackoverflow.com/questions/783 ... orm-binary
Мобильная версия