Eu gosto de desenvolver em Java, mas também quero compatibilidade com o menu global? Há algum jeito? Por favor ajude.
11
Eu gosto de desenvolver em Java, mas também quero compatibilidade com o menu global? Há algum jeito? Por favor ajude.
Existe uma biblioteca chamada java-gnome (um wrapper java gtk) que permite que seus aplicativos se comportem como todos os aplicativos nativos. Ele fornece toda a glória para eles: widgets nativos, menu global etc.
A biblioteca está disponível nos repositórios do ubuntu:
O objetivo da biblioteca é desenvolver uma rica experiência Java + Gnome. Cuidado, se você usar esta biblioteca, seu aplicativo perderá o recurso de multiplataforma do Java (já que ele estará vinculado ao java-gnome).
Aqui está um aplicativo de amostra (que acompanha o java-gnome) exibindo a integração do menu:
Tente Ayatana. Você pode encontrar instruções aqui: http://hanynowsky.wordpress.com/2012/05/12/integration-of-java-swing-applications-with-unity-global-menu-in-ubuntu-12-04/
Tudo o que você precisa fazer é importar a Biblioteca Java Ayatana e chamá-la na sua classe principal do JFrame. Na verdade, isso implica a adição das duas linhas a seguir no seu código (além de importar as classes Ayatana):
Aqui está um exemplo:
E o mais importante é que seu aplicativo ainda seja multiplataforma. Eu testei o exemplo acima no Ubuntu 12.04 LTS e no Windows XP.
fonte
Você pode usar um ppa: ppa: danjaredg / jayatana
http://www.webupd8.org/2014/02/get-unity-global-menu-hud-support-for.html
fonte
Isso normalmente é feito no nível do kit de ferramentas, por exemplo, em GTK ou Qt. Portanto, a maneira pretendida de fazer isso seria corrigir o Swing, se esse é o kit de ferramentas da GUI que você está usando. No entanto, todos os componentes do Unity se comunicam usando o DBus; portanto, se você realmente quiser, poderá fazê-lo implementando a API do DBus. Se você quiser fazer isso, dê uma olhada no libdbusmenu e veja como ele funciona.
fonte
Não é uma correção para você, mas, para sua informação: arquivei o bug no 984916 do Ubuntu para rastrear o fato de que os menus Swing não são (semi) automaticamente integrados no menu global.
fonte