Java/OS X Lion: установка имени приложения перестала работать с JDK1.7

До сих пор я использовал следующий код для установки имени приложения (в верхней строке меню «Система») на моем 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 может сработать, но я еще не пробовал.

8
задан Bet Lamed 22 May 2012 в 16:47
поделиться