non ti viene più semplice caricare tutto in un JPanel e comporre la tua finestra con i pannelli richiesti?
io ho fatto così e la mia la classe era la XYSplineGraph e questa era la dichiarazione

public class XYSplineGraph extends JPanel implements ChartMouseListener

Poi ho caricato il mio JPanel in un JInternalFrame perché il mio programma aveva un JDesktopPane quindi non avevo scelta, ma tu puoi caricarlo normalmente in un JFrame.

Ciao.