До сих пор я использовал следующий код для установки имени приложения (в верхней строке меню «Система») на моем Apple MacBook. (На самом деле, я думаю, что скопировал это из stackoverflow.)
По сути, создайте отдельный класс AppLauncher, который использует System.setProperty() для установки имени приложения перед созданием нового Runnable для самого приложения.
Работал просто отлично.
Однако, поскольку я загрузил и начал использовать JDK 1.7, решение перестало работать — я получаю имя класса вместо имени приложения в меню, как и до того, как я нашел это решение. Я пробовал гуглить, но безрезультатно.
Вот несуществующий код, который работал в JDK 1.6, сокращенный до соответствующих частей:
public class AppLauncher {
public static void main(String[] args) {
System.setProperty("apple.laf.useScreenMenuBar", "true");
System.setProperty("com.apple.mrj.application.apple.menu.about.name",
"My Application");
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MainWindow();
}
});
}
}
Спасибо за предложения!
ETA: вызов с java -Dapple.laf.useScreenMenuBar=true все еще работает. Помещение свойства в Info.plist может сработать, но я еще не пробовал.