Проверьте, сфокусирован ли системный трей в Java? - PullRequest
1 голос
/ 18 апреля 2010

У меня есть приложение Java, которое имеет значок в системном трее.

Как проверить, фокусируется ли лоток (или значок на панели задач)?

Похоже, что в Tray и TrayIcon нет .isFocused () или аналогичных.

Возможно ли это?

Спасибо!

1 Ответ

0 голосов
/ 18 апреля 2010

Поскольку TrayIcon поддерживает и addMouseListener(), и addMouseMotionListener(), вы должны реализовать своих слушателей, чтобы заботиться о состоянии выбора / фокуса TrayBar ..

Вы можете попытаться увидеть, какие события запускаются, когда вы фокусируете или не фокусируете. Это зависит от того, что вы хотите поймать: если вы хотите видеть, когда пользователь наводит курсор на иконку, вы должны попробовать mouseEntered или mouseExited, и так далее. TrayIcon не наследуется ни от какого стандартного компонента GUI, поэтому я думаю, что это единственный способ с ним работать.

Кроме того, я не буду слишком полагаться на то, что он будет работать на кроссплатформенном уровне, поскольку, возможно, такие события запускаются из ОС и отправляются в JVM, которая перенаправляет их в объект TrayIcon, но я не знаю, как ну, это реализовано, просто попробуйте сами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...