Есть ли способ отобразить пользовательскую форму в Java, которая работает аналогично TrayIcon.displayMessage ()? - PullRequest
3 голосов
/ 28 июня 2009

Есть ли в любом случае использование Java для отображения пользовательской формы / изображения, которое ведет себя подобно функции TrayIcon.displayMessage () в том смысле, что оно некоторое время отображается прямо над системным лотком, а затем исчезает?

Я также ищу способ отображения нескольких уведомлений одновременно, отображая их друг над другом.

Если нет, как мне найти пиксельное местоположение для левого нижнего угла чуть выше системного трея?

Ответы [ 2 ]

0 голосов
/ 28 июня 2009

Go check out Java GNOME . Он имеет привязки Java для GTK, включая значок состояния для панели задач и уведомления.

0 голосов
/ 28 июня 2009

Я не думаю, что есть ярлык для рисования рамок, которые действуют так же, как стандартные TrayIcons (с кнопкой x в углу), которые поддерживают укладку, похожую на уведомления Mac Growl.
вам, вероятно, придется реализовать это самостоятельно.
Я обнаружил, что наложение таких сообщений - пустая трата времени, поскольку пользователь не будет обращать на них внимания - лучшее место для них - в области состояния приложения в простом всплывающем меню.
Вы можете использовать java.awt.GraphicsEnvironment. getLocalGraphicsEnvironment () для получения информации о рабочем столе, которая содержит getMaximumWindowBounds (), которая заботится о таких вещах, как положение панели задач.
Вы можете использовать подкласс javax.swing.JWindow, чтобы создать окно без рамки, которую можно расположить на рабочем столе относительно нижнего правого угла. Это не всегда будет работать в качестве иконки в трее по умолчанию, так как расположение генератора иконок может быть где-то еще, кроме этого. Вы можете добавить кнопку, которая действует как кнопка «x» в стандартном окне рабочего стола, но она будет зависеть от платформы.
Я использую квадратные окна, которые складываются из верхнего правого угла, если я использую LTR, и это, кажется, работает хорошо.

...