Лично я испытал то, что дизайн графического интерфейса в Swing лучше всего делать без WYSIWYG. Я пришел в Java после многих лет разработки приложений на Delphi, и в то время не было подходящего дизайнера графического интерфейса для Swing, что было для меня немного шоком.
Для того, чтобы дизайн / кодирование пользовательского интерфейса вручную было эффективным, следует использовать действительно хороший менеджер компоновки. MigLayout является одним из таких менеджеров раскладки. С тех пор, как я начал использовать его, я никогда не оглядывался назад на инструменты WYSIWIG - лист бумаги, карандаш, MigLayout и полный контроль над вашим кодом.