Установка имени приложения Java Swing на Mac - PullRequest
17 голосов
/ 01 июля 2010

Я пишу приложение Java Swing для Mac, используя Java 1.6. Я прочитал несколько учебных пособий, в которых рассказывается, как лучше интегрировать ваше Java-приложение с OS X, но есть одна вещь, которую я не смог заставить работать. Я не могу отобразить имя приложения (первый жирный пункт меню в строке меню Mac). По умолчанию отображается полное имя класса основного класса, и я не могу его изменить.

Этот сайт говорит, что вы должны установить следующее свойство:

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

Но это не работает (у меня работает 10.6, так что, возможно, имя свойства изменилось?).

Когда я создаю новый проект Java в XCode (я обычно использую Eclipse), имя каким-то волшебным образом устанавливается! (он запускает вас с работоспособным приложением, работающим на платформе) Я посмотрел весь проект XCode на то, как это делается, но я не могу понять это!

Я предполагаю, что оно устанавливает имя приложения только в том случае, если вы упаковываете свое Java-приложение в пакет Mac * .app, но спрашивает, знает ли кто-нибудь ответ. Спасибо.

EDIT : Интересно, что оно устанавливает имя приложения, если я упаковываю свое приложение в исполняемый файл JAR, но не если я запускаю его из Eclipse.

Ответы [ 2 ]

29 голосов
/ 01 июля 2010

Вы должны сделать следующее во время инициализации приложения перед построением GUI:

// take the menu bar off the jframe
System.setProperty("apple.laf.useScreenMenuBar", "true");

// set the name of the application menu item
System.setProperty("com.apple.mrj.application.apple.menu.about.name", "AppName");

// set the look and feel
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

UPDATE. Выше код работает в Java 1.5, этот код может не работать в 1.6

Для новой Java см. документацию :

  1. Либо используйте -Xdock:name свойство командной строки: - Xdock:name=YourAppName
  2. Или установить CFBundleName в файле списка свойств информации (plist)
5 голосов
/ 05 января 2013

В Mac 10.7.5 программная установка свойства работала с Java 1.6, но не с Java 1.7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...