Проблема Java AWT SystemTray с значками и двоичным файлом платформы OpenJDKJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема Java AWT SystemTray с значками и двоичным файлом платформы OpenJDK

Сообщение Anonymous »

Java 22 JDK
В основном я вызываю метод 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, а не от запускаемого приложения
  • Значок приложения не отображается в окне приложения
  • Вместо значка в трее пустое место
Я нашел решение, при котором упакованному java.exe с помощью какой-то утилиты прописывают другое значение вместо бинарника OpenJDK Платформа, но мне бы не хотелось заниматься такими извращениями, да и остальных 2 проблем она не исправит.
Если от этого нельзя как-то избавиться, может быть, вы сможете что-нибудь порекомендовать другая библиотека?
Для контекста, об исполняемом файле: с помощью launch4j-maven-plugin я упаковываю свой jar в exe, зависимости и JDK просто передаются в цельРЕДАКТИРОВАТЬ: Может быть, кто-нибудь знает, как это использовать?

Код: Выделить всё

de.mobanisto
toast4j
0.2.0

lib repo
Из краткого ознакомительного файла я понял, что это зависимость для доступа к «новому» Windows API для отображения уведомлений, но я все еще не мог понять, как его использовать, возможно, это решит мои проблемы

Подробнее здесь: https://stackoverflow.com/questions/783 ... orm-binary
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»