The addMenu() class (ugh -- terrible name for a class -- why isn't it a method instead?) carefully constructs a JMenuBar, but doesn't do anything to install it in a JFrame, so it's nowhere to be seen. An addMenu object itself is just a blank JPanel. Likewise, the tabbedPanel class is a blank JPanel; the constructor for tabbedPanel creates a number of JPanels and other Components, but these are never added to the JFrame or to the tabbedPanel object.