Java Swing GUIs на Mac OS X
вы когда-нибудь пытались использовать Swing только для изменения курсов, потому что он просто не мог сделать то, что вы хотели?
Я довольно новичок в Swing, используя его только для школьных проектов более 5 лет назад, но, похоже, Swing прошел долгий путь в обеспечении более родного внешнего вида, так что я рассматриваю возможность использования его для разработки GUI для приложения на Mac OS X. Прежде чем я это сделаю, я хотел бы увидеть, если кто-нибудь столкнулся с проблемами showstopper, которые помешали им использование Swing.
просто с моей головы, некоторые возможности:
- проблемы разработки пользовательских компонентов, которые выглядели "правильно"
- плохие взаимодействия с родными приложениями и виджетами
- проблемы с производительностью (невосприимчивость, проблемы с перекраской)
- неспособность имитировать собственное поведение (например, док-взаимодействие)
5 ответов
Swing не даст вам идеальной точности с хостинговой ОС. Sun просто не может выделить значительные ресурсы, необходимые для этого. Мое впечатление, что Swing стал намного лучше, но по-прежнему будет выглядеть неуместно по умолчанию.
минимум, необходимый, чтобы даже надеяться пройти в качестве приложения для Mac:
- пакета .банка в a .app
- установите для L&F значение по умолчанию
- установить apple.ливанские вооруженные силы.свойство useScreenMenuBar для истинный
- должен сделать это перед любым UI-кодом
док-взаимодействие отсутствует в стандартной Java. Вам придется использовать мост Cocoa-Java от Apple, который больше не поддерживается. Я понятия не имею, насколько сговорчив JNI на OS X, которая является единственной реальной альтернативой.
производительность не должна быть проблемой. Drag & Drop, вероятно, так же волосат на OS X, как и везде.
в основном, если вы явно нацелены на OS X вам лучше всего использовать Objective-C. его далеко не невозможно построить приложение на OS X с помощью Java & Swing, но его много работы, чтобы сделать его "родным".
Как сказал Кевин и Джон, вы должны попробовать Objective-C, Cocoa и XCode, если вы нацелены только на пользователей Mac. The инструменты разработчика для Mac свободно доступен.
Если вы хотите (или должны) использовать Java и Swing, вы можете использовать некоторые библиотеки для создания GUI, который хорошо выглядит на Macs:
для развертывания вашего приложения, вы должны прочитать JarBundler документы.
однако в этом случае взаимодействие с док-станцией и собственными приложениями очень ограничено.
некоторые другие хорошие ссылки:
@Kevin++
использование какао, вероятно, лучше
- если вы хотите, чтобы он выглядел точно так же, как родные приложения
- если вы нацелены только на Mac
Если вы собираетесь распространять свои приложения для Windows, Linux и т. д. Свинг-достойный выбор. Это лучше, но, как и в любом инструментарии есть еще проблемы. Вы никогда не получите по-настоящему родной вид и чувство с ним, то же самое касается подобных UI toolkits, которые утверждают, что "межплатформенный."
руководство Apple по разработке Java можно найти здесь.
Swing-хороший способ пойти, или вы можете пойти SWT, или оба!
но в любом случае, используйте их поверх платформы RCP. (либо с Eclipse, либо с Netbeans).
взгляните на это:http://www.adam-bien.com/roller/abien/entry/eclipse_rcp_vs_netbeans_rcp
Марко