Учитывая, что ваше приложение Swing является «огромным», я также предполагаю, что вы работаете над проектом с несколькими другими людьми, поэтому, если это так, вы должны иметь в виду, что им потребуется время, чтобы изучить один из два.
В проекте GUTS все является (почти) чистой Java, поэтому нет необходимости изучать новый язык, но вы будете вводить новые внешние зависимости в проект, а также требовать, чтобы люди изменили свой стиль кодирования для работы с новыми библиотеками , Кроме того, внедрение зависимостей, хотя и более распространенное в наши дни, все еще является дополнительным уровнем сложности для добавления в ваш проект.
По моему очень скромному мнению, если вы и ваша команда знаете достаточно о Swing и общей хорошей практике создания GUI, вы, вероятно, найдете более безопасным и легким просто рефакторинг существующего кода, написание пользовательских утилит и компонентов, где это необходимо. Вы можете начать делать это прямо сейчас, не тратя время на изучение чего-то нового, и в результате вы получите что-то стандартное и довольно простое в обслуживании в будущем.
JavaBuilders - очень интересное и многообещающее решение, и оно делает именно то, что вы хотите - отделение макета от бизнес-логики. Тем не менее, вы должны пожертвовать правильностью времени компиляции, и ваши разработчики должны будут изучить YAML (а также собственный стиль YAML, специально используемый в JavaBuilder). Кроме того, как говорится в документации, завершение кода пока недоступно, поэтому начинать может быть сложно. Кроме того, JB будет полезен только на 100%, если вы используете либо стандартные компоненты, либо все ваши пользовательские компоненты отделены от стандартных. Для использования пользовательских компонентов требуется предварительная настройка.
Вы можете пойти по этому пути, если вы работаете самостоятельно или в небольшой команде, желая потратить неделю или две на то, чтобы изучить его до конца, а затем переписать каждую часть своего приложения с нуля.