Я разрабатываю настольное приложение с помощью Java. Я хочу поместить значок (с контекстным меню) на системном лотке (названный Отдельно оплачиваемыми предметами Меню в Mac OS). Java 6 идет с поддержкой того, чтобы сделать это в Windows и Linux, но это не работает в Mac OS.
Я видел, что некоторые приложения делают то, что я хочу во всех трех операционных системах (например, Dropbox), но я не знаю, сделаны ли они с Java.
Как я могу достигнуть этого?
Если это не возможно в Java, есть ли какой-либо другой межплатформенный язык, который в состоянии сделать это?
Спасибо.
Согласно документации , OSX 10.5 Обновление 1 и более новая поддержка TrayIcon
s
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 3.3 и более новые поддерживают иконки TrayItem на OSX.
Иконки, размещенные на системном лотке, теперь будут появляться при работе на OS X в строке состояния.
Этот фрагмент показывает, как создать меню и значок и поместить их в трей.
.