Frage

Ich habe ein kleines Problem. Nachdem auf Mac vor kurzem migriert, ich habe meine Haare wurde gezogen und die Bahn über diese Suche aber noch nicht gefunden, was ich genau suchte. Ich möchte den Namen der Anwendung in dem System-Menü einstellen, die zur Zeit nicht (mein Haupt-Klassenname statt meinem App-Namen angezeigt wird) funktioniert. Welche Eigenschaft sollte ich ändern?

Ich habe erfolgreich platziert mein Menü in der Systemmenüleiste der richtige apple.laf Eigenschaft verwenden, aber ich habe nicht gefunden, was ich für den Namen benötigt werden.

Meine Suche führte mich zu Info.plist Dokumente, auf die ich überhaupt keine Kenntnis haben. Ich habe versucht, eine einfache zu machen, die nur der App-Anzeigenamen ändern würde, aber aus irgendeinem Grund hat es nicht geklappt. Hilfe?

War es hilfreich?

Lösung

Versuchen Sie, die enthalten Jar Bundler mit , das ist für Sie da, all dieses Zeug zu behandeln. Und wenn Sie sehen möchten, wie eine bestimmte Funktion funktioniert, können Sie Jar Bundler die Ausgabe überprüfen.

Andere Tipps

Nach Sonnen Dokumentation Sie den Namen in die virtuelle passieren würde Maschine als Kommandozeilen-Parameter an den Java-Befehl mit -Xdock:name="{AppName}" {AppName} ersetzen mit dem, was Sie wollen, wie der Titel in der Menüleiste angezeigt wird.

Edit: Ich glaube nicht, dass Sie dies in der aktuellen Java-Code festlegen selbst, sondern als Chuck sagte Apple hat ein Programm Jar Bundler haben die entworfen, um das Glas mit dem Info.plist zu erstellen, die Sie benötigen. Nach dem Bedienungsanleitung es müssen Sie die Paketname-Eigenschaft auf dem Eigenschaftsbereich einstellen zu bekommen, was Sie wollen.

Es gibt zwei Möglichkeiten:

  1. , wenn Sie anrufen: java -Xdock: name = myAppName
  2. In der Laufzeit vor jede GUI Interacción:

    System.setProperty("com.apple.mrj.application.apple.menu.about.name", "myAppName!");
    

Einstellungen alle der vorgeschlagenen Java (mit -D in der Einführung Shell-Skript) Eigenschaften nicht für mich arbeiten, weil sie nur für AWT sind und GUIs Schwingen. Auch die Mac-spezifische -Xdock:* Optionen did't Arbeit.

Was hat funktioniert dieses Projekt wird mit https://github.com/codecentric/NSMenuFX

In meinem JavaFX-Controller für das Menü habe ich die folgenden Ausschnitt:

  public void initialize() {
    if ("Mac OS X".equals(System.getProperty("os.name"))) {
      final MenuToolkit tk = MenuToolkit.toolkit();
      final Menu defaultMacApplicationMenu = tk.createDefaultApplicationMenu("My App");
      tk.setApplicationMenu(defaultMacApplicationMenu);
    }
  }

Nun ist der fett Name des Menüs selbst nicht mit dieser Bibliothek eingestellt werden kann, aber Sie können in den CFBundleDisplayName Ihrer Anwendung bündeln, die Einstellung Info.plist Kontrolle zu bringen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top