Ich entwickle gerne in Java, möchte aber auch Kompatibilität mit dem globalen Menü? Gibt es einen Weg? Bitte helfen Sie.
11
Ich entwickle gerne in Java, möchte aber auch Kompatibilität mit dem globalen Menü? Gibt es einen Weg? Bitte helfen Sie.
Es gibt eine Bibliothek namens Java-Gnome (ein Java-GTK-Wrapper), mit der sich Ihre Apps wie alle nativen Apps verhalten können. Es bietet ihnen den ganzen Ruhm: native Widgets, globales Menü usw.
Die Bibliothek ist in den Ubuntu-Repositories verfügbar:
Das Ziel der Bibliothek ist es, ein reichhaltiges Java + Gnome-Erlebnis zu entwickeln. Beachten Sie, dass Ihre App bei Verwendung dieser Bibliothek die Multiplattform-Funktion von Java verliert (da sie an Java-Gnome gebunden ist).
Hier ist eine Beispiel-App (die mit Java-Gnome geliefert wird), die die Menüintegration anzeigt:
Versuchen Sie es mit Ayatana. Anweisungen finden Sie hier: http://hanynowsky.wordpress.com/2012/05/12/integration-of-java-swing-applications-with-unity-global-menu-in-ubuntu-12-04/
Sie müssen lediglich die Java Ayatana Library importieren und in Ihrer Haupt-JFrame-Klasse aufrufen. Dies impliziert tatsächlich das Hinzufügen der folgenden Zeilen in Ihrem Code (sowie das Importieren von Ayatana-Klassen):
Hier ist ein Beispiel:
Und das Wichtigste ist, dass Ihre Anwendung immer noch plattformübergreifend ist. Ich habe das obige Beispiel sowohl in Ubuntu 12.04 LTS als auch in Windows XP getestet.
quelle
Sie können ein ppa: ppa: danjaredg / jayatana verwenden
http://www.webupd8.org/2014/02/get-unity-global-menu-hud-support-for.html
quelle
Dies geschieht normalerweise auf Toolkit-Ebene, beispielsweise in GTK oder Qt. Der beabsichtigte Weg, dies zu tun, wäre das Patchen von Swing, wenn dies das von Ihnen verwendete GUI-Toolkit ist. Alle Unity-Komponenten kommunizieren jedoch über DBus. Wenn Sie dies wirklich möchten, können Sie dies selbst tun, indem Sie die DBus-API selbst implementieren. Wenn Sie dies tun möchten, sollten Sie sich libdbusmenu ansehen und sehen, wie es funktioniert.
quelle
Keine Lösung für Sie, aber zu Ihrer Information : Ich habe den Ubuntu- Fehler # 984916 eingereicht , um die Tatsache zu verfolgen, dass Swing-Menüs nicht (halb-) automatisch in das globale Menü integriert werden.
quelle