У меня есть приложение в java swing
, которое работает в системном трее большую часть времени. Пользователь может использовать Tray Menu
для выполнения нескольких действий. Одним из таких действий является показ окна приложения. У меня проблема с удобством использования на OS X.
В окнах , если пользователь открывает окно приложения, а затем переключается на другое приложение, он может переключиться обратно на мое приложение с помощью панели задач . Но в OS X приложение работает в режиме, в котором приложение не имеет меню, а также не будет отображаться в списке Command + Tab
.
__LSUIElement
имеет значение true в info.plist file
Так что моя проблема в том, что если пользователь открывает окно приложения, а затем переключается на другое приложение, он не может переключиться обратно, если не щелкнет само окно (которое может находиться за многими другими окнами). Самый простой способ для пользователя - снова открыть окно с помощью иконки в трее, но так как окно уже открыто, я не могу вывести его на передний план.
Итак, как отвлечься от других приложений и вывести окно вперед?
EDIT:
Моя проблема не в том, чтобы получить «Приложение, работающее в качестве агента» . У меня уже есть это работает. Проблема, которую я имею, состоит в том, чтобы получить окно моей программы наверх при его создании. Я не могу сделать это в Java.