Позволяет ли Java использовать нативные виджеты пользовательского интерфейса в Mac OS X? - PullRequest
7 голосов
/ 22 марта 2010

Если я пишу приложение в java, использует ли оно нативные виджеты при запуске в Mac OS X?Или он использует «похожие» виджеты, предоставляемые средой выполнения Java?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 22 марта 2010

Вы можете использовать SWT , который использует собственные элементы управления OS X в OS X, но также остается многоплатформенным (при условии, что на этой платформе скомпилирована библиотека SWT). Однако он не такой гибкий или будет выглядеть так же хорошо, как прямой доступ к самим компонентам пользовательского интерфейса (необходимо сделать абстракцию).

alt text

Вы также можете взглянуть на MacWidgets , которые пытаются быть похожими на родные виджеты OS X, но не делают этого, но работают кроссплатформенно.

alt text
(источник: exploding-pixels.com )

2 голосов
/ 22 марта 2010

Да. Apple предоставляет версию jvm, которая использует родные виджеты.

developer.apple.com / бизнес / macmarket / tekadence.html

Преимущества Apple Java реализация включает в себя доступ к Аква элементы пользовательского интерфейса «бесплатно» через свинг, родной упреждающий многозадачность, поддержка многопроцессорности (без дополнительного кодирования требуется), и обработка файлов JAR как общих библиотеки. Это последнее улучшение улучшается скорость исполнения и снижает Объем оперативной памяти приложений, которые полагаться на тот же архив, такой как приложения в люксах. Кроме того, Mac OS X подключает Java оконный инструментарий прямо в Родной оконный инструментарий Mac, дающий Java-приложения и апплеты графическая производительность Кварц, один из трех мощных графических технологии в Mac OS X.

0 голосов
/ 22 марта 2010

Все компоненты Java Swing похожи, а не на собственные виджеты .

Конфигурируемость Swing является результатом выбора не использовать элементы управления графического интерфейса собственной операционной системы для отображениясам.Swing «рисует» свои элементы управления программным способом, используя Java 2D API, вместо того, чтобы обращаться к нативному инструментарию пользовательского интерфейса.

Существует внешний вид OSX, предоставленный Apple JVM, но онникогда не бывает на самом деле родного контроля.Другой подход - SWT , но я, честно говоря, не видел многих приложений, кроме Eclipse, использующих его, и я никогда не находил, что они выглядят очень хорошо.

...