Вопрос

В шаблоне настольного приложения Java, используемом Netbeans, строка меню создается с помощью JMenuBar и JMenuItems.

Как я могу отобразить эту панель вверху, где строки меню отображаются в MacOSX, а не в окне, как в Windows?

Это было полезно?

Решение

Примечание:Это устаревшая информация - нужен более свежий ответ.

Java-приложения выглядят как традиционные Java-приложения даже под OS X.

Если вам нужен естественный внешний вид, вам нужно внести несколько изменений.В этой серии статей они описаны.

http://www.oracle.com/technetwork/articles/javase/javatomac-140486.html http://www.oracle.com/technetwork/java/javatomac2-138389.html

Сюда входит настройка значка и текста в Dock, а также интеграция с меню приложений.

Я считаю, что утилита OS X «обернуть jar как приложение» с XCode автоматически устанавливает все эти свойства.

Другие советы

Добавив что-то вроде этого в свой код:

if (System.getProperty("os.name").contains("Mac")) {
  System.setProperty("apple.laf.useScreenMenuBar", "true");
}

У меня была та же проблема, но я понял, что MenuBar нужно добавить в фрейм как:

Frame.setJMenuBar(менюБар);

вместо: Frame.add(jMenuBar); вместе с: System.setProperty("apple.laf.useScreenMenuBar", "true"); в основном методе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top