Dovresti:
a) comprendere bene i layout manager, perlomeno tutti quelli basilari. Dimentica SpringLayout/GroupLayout che sono tra quelli più complessi. Questi due vengono usati tipicamente dagli editor visuali di GUI ma sono parecchio difficili e "contorti" da usare a mano (basta che guardi un codice per la GUI generato da un IDE come es. NetBeans ...).
b) scrivere tutto il codice per la creazione/composizione della interfaccia grafica "a mano" sfruttando i layout manager.
c) sfruttare i principi della OOP (design pattern compresi). In Swing la principale "abilità" del programmatore sta solo nel saper "inscatolare" componenti dentro contenitori, dentro contenitori ecc.... separando bene le cose e sfruttando appunto la OOP. In tutto questo un editor visuale non solo non ti aiuta ma probabilmente ti mette pure i bastoni tra le ruote.