Я нашел три способа заполнить свой JFrame frame = new JFrame ( "..." ) createContentPanel возвращает JPanel, а createToolBar возвращает ToolBar.
frame.add(this.createToolBar(), BorderLayout.PAGE_START); //this works and puts the ToolBar above and the ContentPanel under it<br>
frame.add(this.createContentPanel(), BorderLayout.CENTER);
frame.setContentPane(this.createContentPanel()); //this lets the JToolBar hover over the ContentPanel
frame.getContentPane().add(this.createToolBar());
frame.getContentPane().add(this.createContentPanel()); //this only puts the last one into the JFrame
frame.getContentPane().add(this.createToolBar());
И теперь мне интересно, почему я должен использовать метод getContentPane()/setContentPane(), если бы я мог просто использовать простой frame.add(...) для заполнения моего фрейма.