Java Swing GUI на Mac OS X - PullRequest
       36

Java Swing GUI на Mac OS X

9 голосов
/ 29 июня 2009

Вы когда-нибудь пытались использовать Swing только для того, чтобы в конечном итоге сменить курс, потому что он просто не мог делать то, что вы хотели?

Я довольно новичок в Swing, я использовал его только для школьных проектов более 5 лет назад, но кажется, что Swing прошел долгий путь в обеспечении более естественного внешнего вида, настолько, что я собираюсь использовать это разработка GUI для приложения в Mac OS X. Однако прежде чем я это сделаю, я хотел посмотреть, сталкивался ли кто-нибудь с какими-либо проблемами с showtopper, которые мешали ему использовать Swing.

Просто в макушке, некоторые возможности:

  • Проблемы при разработке пользовательских компонентов, которые выглядели "правильно"
  • Плохое взаимодействие с нативными приложениями и виджетами
  • Проблемы с производительностью (неотзывчивость, проблемы с перерисовкой)
  • Неспособность имитировать нативное поведение (например, взаимодействие с доком)

Ответы [ 5 ]

8 голосов
/ 29 июня 2009

Swing не даст вам идеальной верности с хостинговой ОС. Sun просто не может выделить значительные ресурсы, необходимые для этого. У меня сложилось впечатление, что Swing стал намного лучше, но по-прежнему будет выглядеть неуместно по умолчанию.

Минимум, необходимый для того, чтобы даже перейти в приложение Mac:

  • упакуйте свой .jar в .app
  • установить L & F на системное значение по умолчанию
  • установить для свойства apple.laf.useScreenMenuBar значение true
    • должен сделать это перед любым кодом UI

Взаимодействие с док-станцией отсутствует в стандартной Java. Вам придется использовать мост Apple Cocoa-Java, который больше не поддерживается. Я понятия не имею, насколько хорошо работает JNI в OS X, которая является единственной реальной альтернативой.

Производительность не должна быть проблемой. Drag & Drop, вероятно, такой же волосатый на OS X, как и везде.

По сути, если вы явно ориентируетесь на OS X, вам лучше всего использовать Objective-C. Создание приложения на OS X с использованием Java и Swing вовсе не невозможно, но много работы для того, чтобы оно выглядело «нативным».

6 голосов
/ 29 июня 2009

Как сказали Кевин и Джон, вы должны попробовать Objective-C, Cocoa и XCode, если вы только нацелены на пользователей Mac. инструменты разработчика для Mac доступны бесплатно.

Если вы хотите (или должны) использовать Java и Swing, вы можете использовать некоторые библиотеки для создания графического интерфейса, который хорошо выглядит на Mac:

Для развертывания приложения вы должны прочитать JarBundler документы.

Однако в этом случае взаимодействие с док-станцией и нативными приложениями очень ограничено.

Некоторые другие полезные ссылки:

4 голосов
/ 29 июня 2009

@ Кевин ++

Использование какао, вероятно, лучше

  • Если вы хотите, чтобы он выглядел точно так же, как нативные приложения
  • Если вы ориентируетесь только на Mac

Если вы намерены распространять свои приложения для Windows, Linux и т. Д. Swing - достойный выбор. Это лучше, но, как и в любом инструментарии, все еще есть проблемы. Вы никогда не получите по-настоящему естественного внешнего вида и ощущений, то же самое относится и к подобным наборам инструментов пользовательского интерфейса, которые утверждают, что они «кроссплатформенные».

Руководство Apple по разработке Java можно найти здесь .

0 голосов
/ 16 июля 2010

Macify может помочь.

0 голосов
/ 29 июня 2009

Качели это хороший способ пойти, или вы можете пойти SWT, или ОБА!

Но в любом случае, используйте их поверх платформы RCP. (либо с Eclipse, либо с Netbeans).

Посмотрите на это: http://www.adam -bien.com / roller / abien / entry / eclipse_rcp_vs_netbeans_rcp

марко

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