e' il caso di usare un qualunque MVC, l'importante e' appunto definire correttamente la logica tra le classi. se riesci ad astrarre la funzionalita' dall'interfaccia grafica puoi usare quel che vuoi, anche struts. se invece ti risulta difficile o vuoi qualcosa che comunque ragioni con l'ottica dei Listener di Swing, prova con Barracuda www.barracudamvc.org