title: Change Content Pane in JFrame
body: <p>I've seen a few examples of this, and I've tried with the following code. I'm trying to change the content pane when portraitB is selected and then run the other class file. </p>
  
  <pre><code>//imported java libraries
  import java.awt.*;
  import java.awt.event.*; 
  import java.util.*; 
  import javax.swing.UIManager; 
  import javax.swing.*;
  import javax.swing.border.*;
  import java.awt.Dimension;
  import javax.swing.event.ChangeEvent;
  import javax.swing.event.ChangeListener;
  
  
  public class birthdayCardGUI implements ActionListener
  {
  
  //Welcome Screen
  JPanel welcomeP, welcomeImageP, portraitP, landscapeP, backP;
  JLabel welcomeImageL;
  JButton portraitB, landscapeB, backB;
  
  //Portrait Screen
  JTabbedPane tabbedPane;
  JPanel portraitOne;
  JLabel test;
  
  public JFrame frame;
  
  //Colours
  int colourOne = Integer.parseInt( "c1c7f9", 16);
  Color Blue = new Color( colourOne );
  
  
  public birthdayCardGUI() throws Exception
  {
      UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
  
      JFrame frame = new JFrame("birthday Card Maker!");
      frame.setExtendedState(frame.NORMAL);
  
      frame.getContentPane().add(create_Content_Pane());
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(500, 700); //Size of main window
      frame.setVisible(true);
  
      Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
  
      //sets frame location
      int fw = frame.getSize().width;
      int fh = frame.getSize().height;
      int fx = (dim.width-fw)/2;
      int fy = (dim.height-fh)/2;
  
      //moves the frame
      frame.setLocation(fx, fy);
  }
  
  public JPanel create_Content_Pane() throws Exception
  {
      JPanel TotalGUI = new JPanel();
      //TotalGUI.setBackground(Blue);
      TotalGUI.setLayout(null);
  
      //Welcome Panel
      welcomeP = new JPanel();
      Border etched = BorderFactory.createBevelBorder(10);
      Border titled = BorderFactory.createTitledBorder(etched, "Welcome");
      welcomeP.setBorder(titled);
      welcomeP.setLayout(null);
      welcomeP.setLocation(0,0);
      welcomeP.setSize(485, 680);
      welcomeP.setBackground(Blue);
      TotalGUI.add(welcomeP);
  
      welcomeImageP = new JPanel();
      welcomeImageP.setLayout(null);
      welcomeImageP.setLocation(88,20);
      welcomeImageP.setSize(324, 225);
      welcomeP.add(welcomeImageP);
  
      String welcomeG = "Welcome Image.png";
      ImageIcon WelcomeG = new ImageIcon(welcomeG);
      welcomeImageL = new JLabel( WelcomeG, JLabel.CENTER);
      welcomeImageL.setSize(324, 225);
      welcomeImageL.setLocation(0,0);
      welcomeImageP.add(welcomeImageL);
  
      portraitB = new JButton("Portrait");
      portraitB.setSize(100, 30);
      portraitB.setLocation(200, 295);
      portraitB.addActionListener(this);
      welcomeP.add(portraitB);
  
      landscapeB = new JButton("Landscape");
      landscapeB.setSize(100, 30);
      landscapeB.setLocation(200, 335);
      landscapeB.addActionListener(this);
      welcomeP.add(landscapeB);
  
      TotalGUI.setOpaque(true);
  
      return TotalGUI;
  
  }
  
  
  public void create_Portrait_Pane()
  {
      PortraitGUI portrait = new PortraitGUI();
      getContentPane().removeAll();
      getContentPane().add(portrait.PortraitGUI);
      getContentPane().doLayout();
      update(getGraphics());
  }
  
  @Override
  public void actionPerformed(ActionEvent e) 
      {
          if(e.getSource() == portraitB)
          {               
              create_Portrait_Pane();
          }
      }
  
  //MAIN METHOD
  public static void main(String[] args) throws Exception
  {
      birthdayCardGUI CGUI = new birthdayCardGUI();
      }
  }
  </code></pre>
  
  <p>And this is the PortraitGUI file that creates the new content pane.</p>
  
  <pre><code>import java.awt.*;
  import javax.swing.*;
  import java.awt.event.*;
  
  public class PortraitGUI extends JPanel implements ActionListener
  {
  JPanel frontPageP;
  JLabel frontPageL;
  
  //Color White;
  int intValue = Integer.parseInt( "FFFFFF", 16);
  Color White = new Color(intValue);
  
  public JPanel PortraitGUI() throws Exception
  {
      JPanel PortraitGUI = new JPanel();
      PortraitGUI.setLayout(null);
  
      frontPageP = new JPanel();
      frontPageP.setBackground(White);
      frontPageP.setSize(350, 400);
      frontPageP.setLocation(20, 70);
      PortraitGUI.add(frontPageP);
  
      frontPageL = new JLabel("Front Page");
      frontPageL.setLocation(10, 5);
      frontPageL.setSize(70, 30);
      frontPageL.setHorizontalAlignment(JTextField.CENTER);
      PortraitGUI.add(frontPageL);        
  
      PortraitGUI.setOpaque(true);
  
      return PortraitGUI;
  }
  
  public void actionPerformed(ActionEvent e) 
  {
  }
  </code></pre>
  
  <p>}</p>