Создать уведомление рабочего стола Java - PullRequest
0 голосов
/ 09 октября 2019

Требуется создать уведомление на рабочем столе, которое может зарегистрировать событие клика. Я не могу использовать веб-сокеты или какие-либо уведомления от браузера.
Я не могу использовать Tray-Icons и SystemTray, потому что они не могут зарегистрировать Click-Events на DISPLAY MESSAGE . У них могут быть события щелчка в области уведомлений, но не в отображаемом сообщении. Ближайший пример - «Когда мы регистрируем клик по сообщению Skype, он открывает Skype для нас»

Снимок экрана


Skype Notification Pop-Up


При нажатии на вышеуказанное уведомление открывается Skype-чат. Та же функциональность не поддерживается в Tray-Icons. Либо обойти это, либо новый подход будет.
Надеюсь, я все ясно спасибо.

1 Ответ

0 голосов
/ 14 октября 2019

Я использовал следующий репозиторий из github DorkBox .
Просто добавьте зависимость maven, как указано в ссылке на github. Однако я не смог проверить, как изменить пользовательский интерфейс для уведомлений.

Notify.create()
      .title(text)
      .text(title)
      .position(Pos.TOP_RIGHT)
      .onAction( new ActionHandler<Notify>() {
            @Override
            public void handle(Notify value) {
                if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
                    try {
                        Desktop.getDesktop().browse(new URI(targetUrl));
                    } catch (IOException e) {
                        e.printStackTrace();
                    } catch (URISyntaxException e) {
                        e.printStackTrace();
                    }
                }
            }
      })
      .hideAfter(5000)
      .shake(250, 5)
      .darkStyle()      // There are two default themes darkStyle() and default.
      .showConfirm();   // You can use warnings and error as well.

Добавьте следующий код в свой основной блок, и все готово.

...