Hi Matt,
Well it depends on where you place the responsibility? You can not escape the fact that somewhere in the application a class (or a set of classes) must assemble the GUI.
So if you do not want to use inheritance (most of the sun tut. do this) you can just use composition. An example is listed below.
In case of inheritance, do not use it unless you want to change the behavior of the parent or if you have an urge to use polymorphic variables.
Aabha: you can actually use frame.add() method without getting the content pane in JAVA 1.5