2014-02-06 4 views
1

Я знаю, что некоторые из вас могут показаться древними, но в настоящее время я разрабатываю толстый клиент с использованием Swing для пользовательского интерфейса и Spring как рамки за кулисами.Загрузите приложение Swing

Есть ли хороший учебник, объясняющий, как запускать, инициализировать и сбрасывать приложение Swing?

Я видел, что есть JSR 296, но он кажется очень старым и не поддерживается больше.

Есть ли кто-нибудь, кто мог бы мне помочь?

ответ

1

Как вы правильно догадались, JSR 296 потерпел неудачу в своих целях, и с 2009 года, когда было объявлено, что оно не было бы включено в JDK 7, его разработка была приостановлена. Появились несколько вилок, и я работал с большинством из них, включая проекты, основанные на архитектуре Swing/RESTful.

Лучший вариант IMHO в настоящее время представлен Netbeans Platform, общей структурой для приложений Swing, которая может использовать большинство компонентов, написанных для создания самой Netbeans IDE. documentation действительно завершен, и если вы уже знакомы с разработкой настольных систем, вам будет очень легко учиться.

Что касается интерфейса с серверным компонентом, я бы создал набор RESTful API с использованием Spring или даже набора простых сервлетов. Я рекомендую использовать ORM, например JPA или Hibernate; вы получите бесплатную кеширование, объединение и гибкость схемы. На стороне толстого клиента я обычно создаю клиента REST, используя Apache HTTPComponents. Использование HTTP упрощает преодоление брандмауэров и механизм безопасности, который обычно создается для обеспечения хотя бы интернет-трафика.

Последний совет, который я могу предоставить, - использовать JSON для полезной нагрузки, которую вы собираетесь обменивать по HTTP-соединению между клиентом и сервером. JSON является компактным, основанным на тексте, и его можно легко конвертировать из POJO (простых старых объектов Java) с помощью GSON.

+0

Спасибо за подсказки! Но я не хочу NetBeans, и я меньше говорю о том, как общаться с серверной частью (там мы используем чистый Java API, так или иначе, что не обсуждается). Мой вопрос был больше о запуске и выключении приложения Swing. – Hannes

+0

Вы имеете в виду, как запустить и остановить настольное приложение на рабочем столе (клиенте)? – elbuild

+0

Нет, я говорю о широкомасштабной обработке ошибок приложения, настройке ресурсов, безопасном выходе из приложения. Средство: не только System.extit (0) на некоторых событиях кнопки ;-) – Hannes

Смежные вопросы