Фундаментальное отделение модели GUI от вашего основного Java-кода лучше всего сделать с помощью библиотеки привязки данных. Это значит, что у вас есть бизнес-код pojo, у вас есть код компонента GUI, и вам не нравится писать логику для их постоянной синхронизации при обновлении представления и реализации бизнес-логики. Так что не надо. Найдите зрелую структуру привязки данных для используемых вами графических элементов и изучите их; пусть синхронизирует управление экраном с вашим кодом pojo.
JGoodies и beanbindings являются хорошими примерами Swing-вариантов связывания с ОО-моделью. Основные части JGoodies с открытым исходным кодом. Если вы перейдете по ссылке / article на сайте jgoodies, там есть статьи о шаблонах и привязке данных. Хотя каждая инфраструктура привязки имеет свои классы, шаблоны для написания хорошего чистого кода переносимы между платформами GUI и инфраструктурой привязок.
Если вы загрузите инструмент WindowsBuilderPro с открытым исходным кодом, то у вас есть отличные примеры как в Swing, так и в SWT для создания хороших связей данных. Пример Swing Jphonebook использует библиотеку beanbindings. WindowsBuilderPro - это графический интерфейс для перетаскивания; Раньше вы платили за это как ведущий конструктор графического интерфейса, работающий с ведущими бесплатными библиотеками графического интерфейса. Он был куплен компанией Google и имеет открытый исходный код, чтобы они могли усилить поддержку графического конструктора экрана для GWT (каркас веб-интерфейса Google).
Этот инструмент GUI Builder имеет отличный пример кода и теперь является отличным инструментом с открытым исходным кодом. Он демонстрирует один и тот же пример телефонной книги в библиотеках Swing и SWT GUI, чтобы продемонстрировать мощь инструмента для перетаскивания мышью. Так что это отличный способ сравнить и сопоставить Swing с SWT, изучая привязки данных.