Интеграция Spring Swing - PullRequest
       10

Интеграция Spring Swing

4 голосов
/ 21 сентября 2010

Spring не очень хорошо работает с bean-компонентами, созданными вне контекста приложения.

Как лучше всего разрешить мне создавать формы с использованием JFormDesigner, но затем с помощью Spring для управления действиями компонентов?

Есть несколько способов интеграции Spring и Swing (например, https://www.ibm.com/developerworks/java/tutorials/j-springswing/), но этот подход подразумевает необходимость расширения каждого элемента управления, который вы хотите использовать, подход, который выглядит так, как если бы он добавлялмного ненужных накладных расходов. Также этот подход не позволяет мне использовать JFormDesigner для моделирования внешнего вида моей формы.

Я также взглянул на Spring Rich Client Project , но этоне похоже, что он перенесен в Spring 3, хотя похоже, что он вскоре возобновит разработку, поскольку они перенесли хостинг проекта на Github.

1 Ответ

1 голос
/ 23 сентября 2010

У меня есть приложение, которое использует Swing, встроенные панели JFormDesigner, Spring и Spring RCP. Существует класс представления, который расширяет RCP AbstractView для каждого представления, который имеет ссылки как на панель (как мы ее называем), так и на действия, чтобы он мог ими управлять. Каждое представление имеет одну главную панель (которая может быть построена с помощью JFormDesigner), на которую ссылается представление. Я не знаю, является ли это лучшим способом, но он работает довольно хорошо.

Основная проблема, с которой я столкнулся, заключается в том, что для определения простых слушателей, имеющих ссылку на панель, требуется слишком много настроек, если вы хотите сделать их компонентами Spring. И если вы этого не сделаете, вы должны передать ссылку на все необходимые ресурсы Spring (панель, интерфейс службы и т. Д.) Вручную, что также является большой работой. Я частично решил эту проблему, написав статический метод получения наиболее распространенных компонентов Spring для класса, который имеет доступ к контексту приложения.

В чем проблема настройки Spring для управления как действиями, так и формами? В нашем приложении панель была просто определена как свойство представления в конфигурации приложения, ничего особенного в этом нет.

...