Значок System Tray (Menu Extras) в Mac OS с помощью Java

Я разрабатываю настольное приложение с помощью Java. Я хочу поместить значок (с контекстным меню) на системном лотке (названный Отдельно оплачиваемыми предметами Меню в Mac OS). Java 6 идет с поддержкой того, чтобы сделать это в Windows и Linux, но это не работает в Mac OS.

Я видел, что некоторые приложения делают то, что я хочу во всех трех операционных системах (например, Dropbox), но я не знаю, сделаны ли они с Java.

Как я могу достигнуть этого?

Если это не возможно в Java, есть ли какой-либо другой межплатформенный язык, который в состоянии сделать это?

Спасибо.

15
задан sinuhepop 28 December 2009 в 18:36
поделиться

1 ответ

AWT / Swing

Согласно документации , OSX 10.5 Обновление 1 и более новая поддержка TrayIcons

TrayIcons представлены на Mac OS X. используя NSStatusMenus, которые представлены слева от стандартной системы дополнения к меню. java.awt.Image художественная работа для TrayIcon представлена в разделе градация серого согласно стандарту Mac OS X для дополнительных функций меню.

TrayIcon.displayMessage() представляет функцию небольшой немодальный диалог под ТрейИконом. ЭкшнЛистенер для ТрейИкона стреляют только в том случае, если Кнопка "ОК" в немодальном диалоговом окне - это нажата, и не нажата, если окно закрывается кнопкой закрытия окна.

Многократные вызовы на TrayIcon.displayMessage() будет выгружена. предыдущие сообщения и оставлять только последние сообщение. Если приложение не находится в на передний план, когда Вызывается TrayIcon.displayMessage(), приложение отскакивает от своей иконки Док. Окна сообщений промаркированы с иконкой приложения на определить, какое приложение вызвал уведомление.

noah при условии, что этот образец:

java.awt.SystemTray.getSystemTray().add(new java.awt.TrayIcon(java.awt.Toolkit.getDefaultToolkit().getImage("foo.png")));

Обратите внимание, что вы, вероятно, захотите прикрепить меню к этой иконке, прежде чем добавлять ее в трей.

SWT

Согласно документации, SWT 3.3 и более новые поддерживают иконки TrayItem на OSX.

Иконки, размещенные на системном лотке, теперь будут появляться при работе на OS X в строке состояния. SWT TrayItem

Этот фрагмент показывает, как создать меню и значок и поместить их в трей.

.
18
ответ дан 1 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: