С чего начать Java GUI Framework?
Я довольно новичок в Java.
У меня есть инструмент, написанный на C#, который я хочу перенести на Java.
Я использую Eclipse и думал начать с WindowBuilder.
Однако меня довольно смущает разнообразие вариантов (GWT, SWT, Swing), и чем больше я гуглю, тем больше путаюсь.
Мне нужен чистый графический интерфейс, ничего слишком сложного, и я хотел бы работать с самой простой структурой, желательно той, которая максимально похожа на стиль C#.
Что вы можете порекомендовать мне?
5 ответов
Я должен сказать, что самой "простой" (то есть самой документированной и самой старой) платформой (из трех) явно является Swing.
Ознакомьтесь с руководствами по Oracle Swing.
При использовании Swing следует помнить о некоторых вещах (например, он называется "не ориентированным на многопотоковое исполнение", но, например, посмотрите этот поток), но в целом я бы рекомендовал его в качестве отправной точки для разработки графического интерфейса в Java.
SWT (Standard Widget Toolkit) изначально был разработан для Eclipse, а GWT (Google Web Toolkit) используется для веб-приложений.
Я думаю, что свинг довольно прост, поэтому я бы начал с свинга
Лучший способ начать, если вы пришли из C#, это установить IDE Netbeans. В нем есть все виды мастера для создания новых форм, и у вас есть высококачественный визуальный редактор, похожий на тот, что в Visual Studio.
После этого вы можете редактировать "код позади", чтобы использовать его для программного управления компонентами. Я полагаю, что Eclipse тоже может это сделать, но, на мой взгляд, Netbeans очень стабилен и поставляется со всем, работающим по умолчанию, без потерь времени при настройке или установке плагинов...
Также, если вам нужна сложная среда стыковки окон, она также интегрирована в Netbeans, и у вас есть мастер для создания "Rich Client Plateform Application":
Как и в Eclipse RCP, он опирается на ядро платформы Netbeans с удаленным плагином IDE. И у него есть интересные функции, такие как создание кроссплатформенного установщика и наличие плагинов внутри вашего приложения...
Удачи,
Renaud
Я довольно широко использовал Swing и GWT. Как уже упоминалось, Swing - хороший выбор для автономного Java-приложения. Я не могу высказать свое мнение о Swing против SWT, потому что я никогда не использовал SWT. Но сколько приложений в настоящее время автономно? Не так много.
Если вы хотите, чтобы к вашему приложению обращались из браузера, вы, вероятно, захотите использовать пользовательский интерфейс на основе JavaScript. Существует много основанных на javascript средах пользовательского интерфейса, например, YUI, Dojo, Prototype, JQuery и т. Д. Что использовать? Если вам нравится программирование на Javascript (не просто овладеть языком, кстати), вы можете использовать одну или несколько из этих платформ. Тем не менее, если вы новичок в Java и не знаете javascript, GWT может быть очень хорошим выбором, так как он, как правило, устраняет необходимость знать javascript (вы пишете весь свой код на Java, и компилятор генерирует для вас высоко оптимизированный javascript, и почти всегда сглаживает все различия между браузерами - это большое дело). Я использую GWT уже больше года, и я очень рекомендую его. Он может использоваться с движком приложений Google или с любой другой серверной технологией. У меня был бы один вопрос: можно ли эффективно использовать GWT для автономного приложения? Я бы предположил, что есть способы сделать это, но я не исследовал это. Если это так, я бы также склонялся к использованию GWT для отдельного приложения, потому что тогда ваш код может быть повторно использован для веб-интерфейса, если это автономное приложение в конечном итоге станет веб-активированным.