Собрав GUI с помощью JBuilder (и предполагая, что WindowBuilder работает по тем же принципам), концептуально возможно разработать ваши скелеты GUI (как абстрактные классы) в Java. Затем вы можете расширить или использовать их из Scala. должно быть легко сделать это (заметьте, я говорю это должно быть , так как я этого не сделал, и я просто выдвигаю гипотезу о связанном, но не прямом опыте.)
В данном случае, когда я разрабатываю GUI, я создаю абстрактные «представления», абстрактные скелеты с соответствующими макетами, визуальными компонентами и т. Д., А также с предварительно определенными обратными вызовами для инициализации, уничтожения, создания видимого / невидимого нарезка резьбы и пр.
Затем я делю абстрактное «представление» на класс «конкретного представления», который выполняет тяжелую работу - регистрирует слушателей, логику графического интерфейса и т. Д. Для выполнения этих действий требуется больше смазки на локтях (иногда намного больше), чем просто смешивание Разметка GUI и логика. Но подход, которому я склонен следовать, делает разделение логики GUI и логики поведения. Он держит его в чистоте.
Итак, вернемся к вашему вопросу: должна быть возможность определить ваш класс "конкретного вида" в Scala. С полной поддержкой функций, таких как объекты первого значения, замыкания, лямбды и все вкусности FP, стало бы намного проще реализовать слушатели и обработчики действий потоков с Scala.
Вы должны попробовать и сообщить нам, как это происходит (и возможно ли это или достаточно легко сделать его стоящим).