Я люблю разрабатывать на Java, но также хочу совместимость с глобальным меню? Есть ли способ? Пожалуйста помоги.
11
Я люблю разрабатывать на Java, но также хочу совместимость с глобальным меню? Есть ли способ? Пожалуйста помоги.
Существует библиотека под названием java-gnome (оболочка java gtk), которая позволяет вашим приложениям вести себя как все нативные приложения. Он предоставляет им всю славу: родные виджеты, глобальное меню и т. Д.
Библиотека доступна в репозиториях Ubuntu:
Целью библиотеки является развитие богатого опыта Java + Gnome. Помните, что если вы используете эту библиотеку, ваше приложение утратит многоплатформенную функцию Java (поскольку она будет привязана к java-gnome).
Вот пример приложения (которое поставляется с java-gnome), отображающее интеграцию меню:
Попробуйте аятана. Вы можете найти инструкции здесь: http://hanynowsky.wordpress.com/2012/05/12/integration-of-java-swing-applications-with-unity-global-menu-in-ubuntu-12-04/
Все, что вам нужно сделать, это импортировать библиотеку Java Ayatana и вызвать ее в своем основном классе JFrame. На самом деле это подразумевает добавление следующей пары строк в ваш код (а также импорт классов Ayatana):
Вот пример:
И самое главное, что ваше приложение все еще кроссплатформенное. Я протестировал приведенный выше пример как в Ubuntu 12.04 LTS, так и в Windows XP.
источник
Вы можете использовать ppa: ppa: danjaredg / jayatana
http://www.webupd8.org/2014/02/get-unity-global-menu-hud-support-for.html
источник
Обычно это делается на уровне инструментария, например, в GTK или Qt. Таким образом, предполагаемый способ сделать это - установить патч на Swing, если вы используете GUI-инструментарий. Однако все компоненты Unity взаимодействуют с использованием DBus, поэтому, если вы действительно этого хотите, вы можете сделать это самостоятельно, реализовав API DBus самостоятельно. Если вы хотите сделать это, вы можете взглянуть на libdbusmenu и посмотреть, как это работает.
источник
Не для вас, но к вашему сведению: я подал ошибку Ubuntu # 984916, чтобы отследить тот факт, что меню Swing не (частично) автоматически интегрируются в глобальное меню.
источник