Ändern des im Mac OS X Launchpad angezeigten Java-Anwendungsnamens

8

Wenn meine in Java mit SWT geschriebene Anwendung unter OS X sowohl unter Eclipse als auch von jar läuft, lautet ihr Name im Launchpad "java", wie im Bild gezeigt.

Am Anfang von meinem Code rufe ich Display.setAppName("MyApp") auf, und der Name der Anwendung in der Menüleiste und in den Menüpunkten ist richtig, es liest MyApp , About MyApp , Configure MyApp , usw. Die Menüpunkte sich richtig verhalten, kann ich die entsprechenden Ereignisse empfangen und behandeln. Das Problem bezieht sich ausschließlich auf den im Launchpad angezeigten App-Namen. Gibt es eine Möglichkeit, den richtigen Namen im Launchpad programmgesteuert aus dem Code ohne Erstellung des Anwendungsbündels zu setzen?

P. S. Der Code läuft tatsächlich unter JVM, der mit ProcessBuilder :

in meinem Code gestartet wird %Vor%

Eine Art Rekursion, die benötigt wird, um einige jvm-Optionen und Klassenpfade programmatisch zu berechnen, bevor die Anwendung gestartet wird.

    
m. vokhm 18.02.2017, 19:07
quelle

3 Antworten

1

Sie sollten ein macOS-App-Paket mit Ihrem jar erstellen, in das Sie den Anzeigenamen des Bundles in die Datei Info.plist des Bundles einfügen können. Dies wird von Oracle gut dokumentiert ( Ссылка ).

Die Struktur eines Java-App-Bundles wird auch von Apple dokumentiert: Ссылка

    
clemens 22.02.2017 06:46
quelle
1

@m. vokhm ich hoffe du hast den folgenden Link ausprobiert

Ссылка

Überprüfen Sie auch "3. Wie ein Start ausgelöst werden kann" im folgenden Link

Ссылка

    
Bhanz 01.03.2017 05:25
quelle
0

Sie sollten Folgendes während der App-Initialisierung tun, bevor die GUI erstellt wird:

%Vor%

Aber oben Code funktioniert in Java 1.5, dieser Code funktioniert möglicherweise nicht in 1.6

Für neues Java siehe Dokumentation :

  1. Verwenden Sie entweder -Xdock: name-Befehlszeileneigenschaft: -Xdock: name = YourAppName
  2. Oder legen Sie CFBundleName in der Informationseigenschaftslistendatei (plist)
  3. fest
Fortran 26.02.2017 21:29
quelle

Tags und Links